<!DOCTYPE html>
<!-- saved from url=(0049)https://www.andreyolegovich.ru/code/c/sockets.php -->
<html lang="ru"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!-- Yandex.RTB --><script type="text/javascript" async="" src="./Сокеты в C_files/analytics.js"></script><script async="" src="./Сокеты в C_files/tag.js"></script><script async="" type="text/javascript" src="https://openstat.net/cnt.js"></script><script>window.yaContextCb=window.yaContextCb||[]</script><script src="./Сокеты в C_files/context.js" async=""></script><title>Сокеты в C</title>
            <meta name="keywords" content="Сокеты в C,fatal error: sys/socket.h: No such file or directory,fatal error: netinet/in.h: No such file or directory,SOCK_STREAM, AF_INET,">
            <meta name="description" content="Сокеты в C сервер и клиент TCP">
            
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <meta property="og:image" content="https://andreyolegovich.ru/i/visual_studio/img/precompiledHeadersOff_00102--small.jpg">
            <link rel="stylesheet" type="text/css" href="./Сокеты в C_files/ao.css">
            <link rel="icon" type="image/png" href="https://www.andreyolegovich.ru/img/favicon/favicon.png">
        <link rel="preconnect" href="https://yastatic.net/"><link rel="preconnect" href="https://avatars.mds.yandex.net/"><link rel="preconnect" href="https://mc.yandex.ru/"><link rel="preconnect" href="https://ads.adfox.ru/"><script charset="utf-8" src="./Сокеты в C_files/b17a3e94116eaf3e7aa5.js" crossorigin="anonymous" importance="high"></script><script charset="utf-8" src="./Сокеты в C_files/4046403c36bb4c0a96be.js" crossorigin="anonymous" importance="high"></script><script async="" crossorigin="anonymous" src="./Сокеты в C_files/host.js"></script><meta id="https://yastatic.net/partner-code-bundles/591259/context_static.js"><script charset="utf-8" src="./Сокеты в C_files/b19d630451b27cf59c26.js" crossorigin="anonymous" importance="high"></script><script async="" crossorigin="anonymous" src="./Сокеты в C_files/watch.js"></script><style type="text/css">.ya-share2,
.ya-share2 * {
  line-height: normal;
}
.ya-share2 :link:hover,
.ya-share2 :visited:hover {
  color: #000 !important;
}
.ya-share2 input {
  color: inherit;
  font: inherit;
  margin: 0;
  line-height: normal;
}
.ya-share2__messenger-frame {
  display: none;
}
.ya-share2__container.ya-share2__container_color-scheme_blackwhite .ya-share2__badge,
.ya-share2__container.ya-share2__container_color-scheme_blackwhite .ya-share2__mobile-popup-badge {
  background-color: #000;
}
.ya-share2__container.ya-share2__container_color-scheme_whiteblack .ya-share2__badge,
.ya-share2__container.ya-share2__container_color-scheme_whiteblack .ya-share2__mobile-popup-badge {
  background-color: #fff;
}
.ya-share2__container.ya-share2__container_color-scheme_whiteblack .ya-share2__popup-body .ya-share2__mobile-popup-badge {
  background-color: #f2f2f2;
}
.ya-share2__container_shape_round .ya-share2__badge {
  border-radius: 50px;
}
.ya-share2__container_shape_round .ya-share2__icon {
  background-position: center;
}
.ya-share2__container_size_l {
  font-size: 20px;
}
.ya-share2__container_size_l .ya-share2__badge .ya-share2__icon {
  height: 48px;
  width: 48px;
  background-size: 48px 48px;
}
.ya-share2__container_shape_round.ya-share2__container_size_l .ya-share2__badge .ya-share2__icon:not(.ya-share2__icon_messenger-contact):not(.ya-share2__icon_more):not(.ya-share2__icon_copy) {
  background-size: 40px 40px;
}
.ya-share2__container_size_l .ya-share2__item_copy .ya-share2__icon_copy,
.ya-share2__container_size_l .ya-share2__item_more .ya-share2__icon_more {
  background-size: 32px 32px;
}
.ya-share2__container_size_l .ya-share2__title {
  line-height: 48px;
}
.ya-share2__container_size_l .ya-share2__badge + .ya-share2__title {
  margin-left: 16px;
}
.ya-share2__container_size_l .ya-share2__popup:not(.ya-share2__popup_mobile) {
  border-radius: 16px;
  box-shadow: 0px 16px 48px rgba(0,0,0,0.18), 0px 0px 8px rgba(0,0,0,0.1);
}
.ya-share2__container_size_l .ya-share2__popup:not(.ya-share2__popup_mobile) .ya-share2__item,
.ya-share2__container_size_l.ya-share2__container_as-popup .ya-share2__item {
  padding: 2px 16px;
}
.ya-share2__container_size_l .ya-share2__popup:not(.ya-share2__popup_mobile) > :first-child:not(:empty),
.ya-share2__container_size_l.ya-share2__container_as-popup > :first-child:not(:empty),
.ya-share2__container_size_l .ya-share2__popup:not(.ya-share2__popup_mobile) > :first-child:empty + :last-child:not(:empty):not(.ya-share2__copied-tooltip),
.ya-share2__container_size_l.ya-share2__container_as-popup > :first-child:empty + :last-child:not(:empty):not(.ya-share2__copied-tooltip) {
  padding-top: 8px;
}
.ya-share2__container_size_l .ya-share2__popup:not(.ya-share2__popup_mobile) > :last-child:not(:empty):not(.ya-share2__copied-tooltip),
.ya-share2__container_size_l.ya-share2__container_as-popup > :last-child:not(:empty):not(.ya-share2__copied-tooltip) {
  padding-bottom: 8px;
}
.ya-share2__container_size_l .ya-share2__popup_direction_bottom {
  top: 56px;
}
.ya-share2__container_size_l .ya-share2__popup_direction_top {
  bottom: 56px;
}
.ya-share2__container_size_l.ya-share2__container_alone .ya-share2__popup_direction_bottom,
.ya-share2__container_size_l .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__popup_direction_bottom {
  top: 72px;
}
.ya-share2__container_size_l.ya-share2__container_alone .ya-share2__popup_direction_top,
.ya-share2__container_size_l .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__popup_direction_top {
  bottom: 72px;
}
.ya-share2__container_size_l .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more {
  padding: 8px 32px 8px 16px;
  font-size: 22px;
}
.ya-share2__container_size_l .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more.ya-share2__link_more-button-type_short {
  padding: 8px;
  border: none;
  background: rgba(0,0,0,0.07);
}
.ya-share2__container_size_l .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more .ya-share2__title {
  margin-left: 6px;
}
.ya-share2__container_size_l .ya-share2__messenger-contacts {
  margin-bottom: 12px;
}
.ya-share2__container_size_l .ya-share2__messenger-contacts::before {
  width: 16px;
  height: 16px;
  bottom: -7px;
  left: 32px;
}
.ya-share2__container_size_m {
  font-size: 13px;
}
.ya-share2__container_size_m .ya-share2__badge .ya-share2__icon {
  height: 24px;
  width: 24px;
  background-size: 24px 24px;
}
.ya-share2__container_shape_round.ya-share2__container_size_m .ya-share2__badge .ya-share2__icon:not(.ya-share2__icon_messenger-contact):not(.ya-share2__icon_more):not(.ya-share2__icon_copy) {
  background-size: 20px 20px;
}
.ya-share2__container_size_m .ya-share2__item_copy .ya-share2__icon_copy,
.ya-share2__container_size_m .ya-share2__item_more .ya-share2__icon_more {
  background-size: 16px 16px;
}
.ya-share2__container_size_m .ya-share2__title {
  line-height: 24px;
}
.ya-share2__container_size_m .ya-share2__badge + .ya-share2__title {
  margin-left: 10px;
}
.ya-share2__container_size_m .ya-share2__popup:not(.ya-share2__popup_mobile) {
  border-radius: 8px;
  box-shadow: 0px 8px 24px rgba(0,0,0,0.18), 0px 0px 4px rgba(0,0,0,0.1);
}
.ya-share2__container_size_m .ya-share2__popup:not(.ya-share2__popup_mobile) .ya-share2__item,
.ya-share2__container_size_m.ya-share2__container_as-popup .ya-share2__item {
  padding: 2px 8px;
}
.ya-share2__container_size_m .ya-share2__popup:not(.ya-share2__popup_mobile) > :first-child:not(:empty),
.ya-share2__container_size_m.ya-share2__container_as-popup > :first-child:not(:empty),
.ya-share2__container_size_m .ya-share2__popup:not(.ya-share2__popup_mobile) > :first-child:empty + :last-child:not(:empty):not(.ya-share2__copied-tooltip),
.ya-share2__container_size_m.ya-share2__container_as-popup > :first-child:empty + :last-child:not(:empty):not(.ya-share2__copied-tooltip) {
  padding-top: 8px;
}
.ya-share2__container_size_m .ya-share2__popup:not(.ya-share2__popup_mobile) > :last-child:not(:empty):not(.ya-share2__copied-tooltip),
.ya-share2__container_size_m.ya-share2__container_as-popup > :last-child:not(:empty):not(.ya-share2__copied-tooltip) {
  padding-bottom: 8px;
}
.ya-share2__container_size_m .ya-share2__popup_direction_bottom {
  top: 28px;
}
.ya-share2__container_size_m .ya-share2__popup_direction_top {
  bottom: 28px;
}
.ya-share2__container_size_m.ya-share2__container_alone .ya-share2__popup_direction_bottom,
.ya-share2__container_size_m .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__popup_direction_bottom {
  top: 36px;
}
.ya-share2__container_size_m.ya-share2__container_alone .ya-share2__popup_direction_top,
.ya-share2__container_size_m .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__popup_direction_top {
  bottom: 36px;
}
.ya-share2__container_size_m .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more {
  padding: 4px 16px 4px 8px;
  font-size: 15px;
}
.ya-share2__container_size_m .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more.ya-share2__link_more-button-type_short {
  padding: 4px;
  border: none;
  background: rgba(0,0,0,0.07);
}
.ya-share2__container_size_m .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more .ya-share2__title {
  margin-left: 2px;
}
.ya-share2__container_size_m .ya-share2__messenger-contacts {
  margin-bottom: 6px;
}
.ya-share2__container_size_m .ya-share2__messenger-contacts::before {
  width: 10px;
  height: 10px;
  bottom: -4px;
  left: 15px;
}
.ya-share2__container_size_s {
  font-size: 12px;
}
.ya-share2__container_size_s .ya-share2__badge .ya-share2__icon {
  height: 18px;
  width: 18px;
  background-size: 18px 18px;
}
.ya-share2__container_shape_round.ya-share2__container_size_s .ya-share2__badge .ya-share2__icon:not(.ya-share2__icon_messenger-contact):not(.ya-share2__icon_more):not(.ya-share2__icon_copy) {
  background-size: 16px 16px;
}
.ya-share2__container_size_s .ya-share2__item_copy .ya-share2__icon_copy,
.ya-share2__container_size_s .ya-share2__item_more .ya-share2__icon_more {
  background-size: 12px 12px;
}
.ya-share2__container_size_s .ya-share2__title {
  line-height: 18px;
}
.ya-share2__container_size_s .ya-share2__badge + .ya-share2__title {
  margin-left: 6px;
}
.ya-share2__container_size_s .ya-share2__popup:not(.ya-share2__popup_mobile) {
  border-radius: 6px;
  box-shadow: 0px 6px 18px rgba(0,0,0,0.18), 0px 0px 3px rgba(0,0,0,0.1);
}
.ya-share2__container_size_s .ya-share2__popup:not(.ya-share2__popup_mobile) .ya-share2__item,
.ya-share2__container_size_s.ya-share2__container_as-popup .ya-share2__item {
  padding: 2px 6px;
}
.ya-share2__container_size_s .ya-share2__popup:not(.ya-share2__popup_mobile) > :first-child:not(:empty),
.ya-share2__container_size_s.ya-share2__container_as-popup > :first-child:not(:empty),
.ya-share2__container_size_s .ya-share2__popup:not(.ya-share2__popup_mobile) > :first-child:empty + :last-child:not(:empty):not(.ya-share2__copied-tooltip),
.ya-share2__container_size_s.ya-share2__container_as-popup > :first-child:empty + :last-child:not(:empty):not(.ya-share2__copied-tooltip) {
  padding-top: 6px;
}
.ya-share2__container_size_s .ya-share2__popup:not(.ya-share2__popup_mobile) > :last-child:not(:empty):not(.ya-share2__copied-tooltip),
.ya-share2__container_size_s.ya-share2__container_as-popup > :last-child:not(:empty):not(.ya-share2__copied-tooltip) {
  padding-bottom: 6px;
}
.ya-share2__container_size_s .ya-share2__popup_direction_bottom {
  top: 21px;
}
.ya-share2__container_size_s .ya-share2__popup_direction_top {
  bottom: 21px;
}
.ya-share2__container_size_s.ya-share2__container_alone .ya-share2__popup_direction_bottom,
.ya-share2__container_size_s .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__popup_direction_bottom {
  top: 27px;
}
.ya-share2__container_size_s.ya-share2__container_alone .ya-share2__popup_direction_top,
.ya-share2__container_size_s .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__popup_direction_top {
  bottom: 27px;
}
.ya-share2__container_size_s .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more {
  padding: 3px 12px 3px 6px;
  font-size: 14px;
}
.ya-share2__container_size_s .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more.ya-share2__link_more-button-type_short {
  padding: 3px;
  border: none;
  background: rgba(0,0,0,0.07);
}
.ya-share2__container_size_s .ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more .ya-share2__title {
  margin-left: 1px;
}
.ya-share2__container_size_s .ya-share2__messenger-contacts {
  margin-bottom: 4.5px;
}
.ya-share2__container_size_s .ya-share2__messenger-contacts::before {
  width: 8px;
  height: 8px;
  bottom: -3px;
  left: 11px;
}
.ya-share2__container_mobile .ya-share2__icon {
  background-position: center;
  background-repeat: no-repeat;
}
.ya-share2__container_mobile.ya-share2__container_size_l .ya-share2__icon {
  height: 56px;
  width: 56px;
}
.ya-share2__container_mobile.ya-share2__container_size_l .ya-share2__title {
  line-height: 56px;
}
.ya-share2__container_mobile.ya-share2__container_size_m .ya-share2__icon {
  height: 32px;
  width: 32px;
}
.ya-share2__container_mobile.ya-share2__container_size_m .ya-share2__title {
  line-height: 32px;
}
.ya-share2__container_mobile.ya-share2__container_size_s .ya-share2__icon {
  height: 24px;
  width: 24px;
}
.ya-share2__container_mobile.ya-share2__container_size_s .ya-share2__title {
  line-height: 24px;
}
.ya-share2__list.ya-share2__list_direction_horizontal {
  margin-top: -2px;
}
.ya-share2__list.ya-share2__list_direction_horizontal > .ya-share2__item {
  display: inline-block;
  vertical-align: top;
  padding: 0;
  margin: 2px 4px 0 0;
}
.ya-share2__list.ya-share2__list_direction_horizontal > .ya-share2__item:last-child {
  margin-right: 0;
}
.ya-share2__list.ya-share2__list_direction_horizontal > .ya-share2__item > .ya-share2__link > .ya-share2__title {
  display: none;
}
.ya-share2__list.ya-share2__list_direction_vertical > .ya-share2__item {
  display: block;
  margin: 4px 0;
}
.ya-share2__list.ya-share2__list_direction_vertical > .ya-share2__item:first-child {
  margin-top: 0;
}
.ya-share2__list.ya-share2__list_direction_vertical > .ya-share2__item:last-child {
  margin-bottom: 0;
}
.ya-share2__popup {
  position: absolute;
  display: none;
  z-index: 9999;
  background-color: #fff;
}
.ya-share2__popup_visible {
  display: block;
}
.ya-share2__popup_direction_auto {
  visibility: hidden;
}
.ya-share2__popup_direction_bottom,
.ya-share2__popup_direction_top {
  visibility: visible;
}
.ya-share2__popup_list-direction_horizontal {
  right: 0;
}
.ya-share2__popup_list-direction_vertical {
  left: 0;
}
.ya-share2__popup_x-direction_left {
  right: 0;
  left: auto;
}
.ya-share2__popup_x-direction_right {
  left: 0;
  right: auto;
}
.ya-share2__popup,
.ya-share2__container_as-popup {
  text-align: left;
}
.ya-share2__popup .ya-share2__list .ya-share2__item,
.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item,
.ya-share2__container_as-popup .ya-share2__list .ya-share2__item,
.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item {
  margin: 0;
}
.ya-share2__popup .ya-share2__list .ya-share2__item:hover,
.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:hover,
.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:hover,
.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:hover,
.ya-share2__popup .ya-share2__list .ya-share2__item:focus,
.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:focus,
.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:focus,
.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:focus {
  background: rgba(0,0,0,0.03);
}
.ya-share2__popup .ya-share2__list .ya-share2__item:active,
.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:active,
.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:active,
.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:active {
  background: rgba(0,0,0,0.05);
}
.ya-share2__popup .ya-share2__list .ya-share2__item:hover,
.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:hover,
.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:hover,
.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:hover,
.ya-share2__popup .ya-share2__list .ya-share2__item:focus,
.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:focus,
.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:focus,
.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:focus,
.ya-share2__popup .ya-share2__list .ya-share2__item:active,
.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:active,
.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:active,
.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:active {
  opacity: 1;
}
.ya-share2__container_color-scheme_whiteblack.ya-share2__popup .ya-share2__list .ya-share2__item:hover .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:hover .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:hover .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:hover .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__popup .ya-share2__list .ya-share2__item:focus .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:focus .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:focus .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:focus .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__popup .ya-share2__list .ya-share2__item:active .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:active .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:active .ya-share2__badge,
.ya-share2__container_color-scheme_whiteblack.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:active .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__popup .ya-share2__list .ya-share2__item:hover.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:hover.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:hover.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:hover.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__popup .ya-share2__list .ya-share2__item:focus.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:focus.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:focus.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:focus.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__popup .ya-share2__list .ya-share2__item:active.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:active.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__container_as-popup .ya-share2__list .ya-share2__item:active.ya-share2__item_copy .ya-share2__badge,
.ya-share2__container_color-scheme_normal.ya-share2__container_as-popup .ya-share2__messenger-contacts-list_desktop .ya-share2__item:active.ya-share2__item_copy .ya-share2__badge {
  background: transparent;
}
.ya-share2__container .ya-share2__messenger-contacts_desktop {
  background-color: #f5f5f5;
  position: relative;
}
.ya-share2__container .ya-share2__messenger-contacts_desktop:empty {
  display: none;
}
.ya-share2__container .ya-share2__messenger-contacts_desktop::before {
  content: '';
  transform: rotate(45deg);
  position: absolute;
  background-color: #f5f5f5;
}
.ya-share2__container .ya-share2__messenger-contacts_desktop .ya-share2__messenger-contacts-list {
  margin: 0;
  padding-left: 0;
}
.ya-share2__container .ya-share2__messenger-contacts_desktop .ya-share2__item {
  display: block;
}
.ya-share2__container .ya-share2__messenger-contacts_desktop .ya-share2__badge {
  background: none;
}
.ya-share2__container .ya-share2__messenger-contacts_desktop .ya-share2__icon {
  border-radius: 50px;
}
.ya-share2__container .ya-share2__messenger-contacts_desktop + .ya-share2__list {
  display: block;
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider {
  height: 97px;
  overflow: hidden;
  padding-bottom: 16px;
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider .ya-share2__messenger-contacts_mobile {
  overflow-x: scroll;
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider .ya-share2__messenger-contacts_mobile:empty {
  display: none;
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider .ya-share2__messenger-contacts_mobile .ya-share2__messenger-contacts-list {
  white-space: nowrap;
  height: 97px;
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider + .ya-share2__header {
  border-top: 1px solid rgba(0,0,0,0.1);
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider ~ .ya-share2__scroll-hider .ya-share2__popup-tile-wrapper {
  overflow-x: scroll;
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider ~ .ya-share2__scroll-hider .ya-share2__popup-tile-wrapper .ya-share2__popup-tile {
  white-space: nowrap;
  height: 97px;
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider .ya-share2__mobile-popup-badge {
  width: 56px;
  height: 56px;
  border-radius: 28px;
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider .ya-share2__messenger-contacts-list .ya-share2__mobile-popup-badge {
  background: none;
}
.ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider .ya-share2__item {
  width: 23%;
}
@media (min-width: 460px) {
  .ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider .ya-share2__item {
    width: 18.6%;
  }
}
@media (min-width: 600px) {
  .ya-share2__container.ya-share2__container_mobile .ya-share2__scroll-hider .ya-share2__item {
    width: 15.6%;
  }
}
.ya-share2__popup.ya-share2__popup_mobile.ya-share2__popup_visible {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(0,0,0,0.8);
}
.ya-share2__popup.ya-share2__popup_mobile.ya-share2__popup_visible .ya-share2__popup-overlay {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.3);
  animation: overlayAppearance 0.2s cubic-bezier(0.42, 0, 1, 1) forwards;
}
.ya-share2__popup.ya-share2__popup_mobile.ya-share2__popup_visible .ya-share2__popup-content {
  display: flex;
  position: absolute;
  padding: 0;
  z-index: 2;
  bottom: 0;
  box-sizing: border-box;
  flex-direction: column;
  width: 100%;
  max-height: 70%;
  animation: popupAppearance 0.2s forwards;
}
.ya-share2__popup-content .ya-share2__popup-header {
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 14px 12px 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-radius: 16px 16px 0 0;
  background-color: #fff;
}
.ya-share2__popup-content .ya-share2__popup-header .ya-share2__og-image,
.ya-share2__popup-content .ya-share2__popup-header .ya-share2__icon_og-image-stub,
.ya-share2__popup-content .ya-share2__popup-header .ya-share2__icon_closing-cross {
  flex-shrink: 0;
}
.ya-share2__popup-content .ya-share2__popup-header .ya-share2__popup-description {
  flex: 1;
  hyphens: auto;
  align-self: center;
  display: -webkit-box;
  max-height: 34px;
  margin: 0 8px 0 14px;
  overflow: hidden;
  font-size: 15px;
  line-height: 17px;
  text-overflow: ellipsis;
  word-break: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.ya-share2__popup-content .ya-share2__popup-body {
  overflow: auto;
  background-color: #fff;
}
.ya-share2__popup-content .ya-share2__popup-body .ya-share2__header {
  font-weight: 500;
  font-size: 18px;
  line-height: 20px;
  padding: 18px 16px 0;
  margin: 0;
}
.ya-share2__popup-content .ya-share2__messenger-contacts-list,
.ya-share2__popup-content .ya-share2__popup-tile {
  padding: 20px 12px 0;
  margin: 0;
}
.ya-share2__popup-content .ya-share2__messenger-contacts-list .ya-share2__item,
.ya-share2__popup-content .ya-share2__popup-tile .ya-share2__item {
  width: 25%;
  padding: 0;
  margin: 0 0 20px;
}
@media (min-width: 460px) {
  .ya-share2__popup-content .ya-share2__messenger-contacts-list .ya-share2__item,
  .ya-share2__popup-content .ya-share2__popup-tile .ya-share2__item {
    width: 20%;
  }
}
@media (min-width: 600px) {
  .ya-share2__popup-content .ya-share2__messenger-contacts-list .ya-share2__item,
  .ya-share2__popup-content .ya-share2__popup-tile .ya-share2__item {
    width: 16.66%;
  }
}
.ya-share2__popup-content .ya-share2__messenger-contacts-list .ya-share2__item .ya-share2__link,
.ya-share2__popup-content .ya-share2__popup-tile .ya-share2__item .ya-share2__link {
  width: 100%;
  height: 100%;
  color: rgba(0,0,0,0.8);
}
.ya-share2__popup-content .ya-share2__messenger-contacts-list .ya-share2__item .ya-share2__native-share-fake-link,
.ya-share2__popup-content .ya-share2__popup-tile .ya-share2__item .ya-share2__native-share-fake-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}
.ya-share2__popup-content .ya-share2__messenger-contacts-list .ya-share2__mobile-popup-badge,
.ya-share2__popup-content .ya-share2__popup-tile .ya-share2__mobile-popup-badge {
  display: block;
  width: 52px;
  height: 52px;
  margin: 0 auto;
  border-radius: 26px;
}
.ya-share2__popup-content .ya-share2__messenger-contacts-list .ya-share2__mobile-popup-badge .ya-share2__icon,
.ya-share2__popup-content .ya-share2__popup-tile .ya-share2__mobile-popup-badge .ya-share2__icon {
  width: 100%;
  height: 100%;
  background-size: 32px;
  background-clip: content-box;
}
.ya-share2__popup-content .ya-share2__messenger-contacts-list .ya-share2__mobile-popup-badge .ya-share2__icon_messenger-contact,
.ya-share2__popup-content .ya-share2__popup-tile .ya-share2__mobile-popup-badge .ya-share2__icon_messenger-contact {
  background-size: 56px;
  border-radius: 50%;
}
.ya-share2__popup-content .ya-share2__messenger-contacts-list .ya-share2__mobile-popup-service-title,
.ya-share2__popup-content .ya-share2__popup-tile .ya-share2__mobile-popup-service-title {
  max-height: 15px;
  margin-top: 10px;
  padding: 0 4px;
  overflow: hidden;
  font-size: 13px;
  line-height: 15px;
  text-align: center;
  text-overflow: ellipsis;
}
.ya-share2__popup-content .ya-share2__icon {
  background-size: auto;
}
.ya-share2__popup-content .ya-share2__icon.ya-share2__og-image,
.ya-share2__popup-content .ya-share2__icon.ya-share2__icon_og-image-stub {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 6px;
}
.ya-share2__popup-content .ya-share2__icon.ya-share2__og-image {
  background-position: center;
  background-size: cover;
}
.ya-share2__popup-content .ya-share2__icon.ya-share2__icon_og-image-stub {
  padding: 6px;
  background-color: rgba(0,0,0,0.05);
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.94 8.838a3 3 0 000 4.242 1 1 0 01-1.414 1.415 5 5 0 010-7.071l3.535-3.536a5 5 0 017.071 7.071l-1.092 1.093a1 1 0 01-1.415-1.415l1.093-1.092a3 3 0 10-4.243-4.243L10.94 8.838zm2.12 6.363a3 3 0 000-4.243 1 1 0 111.415-1.414 5 5 0 010 7.07l-3.5 3.501a5 5 0 01-7.071-7.071l1.025-1.025a1 1 0 011.414 1.414l-1.025 1.025a3 3 0 004.243 4.243l3.5-3.5z' fill='%23000' fill-opacity='.3'/%3E%3C/svg%3E");
}
.ya-share2__popup-content .ya-share2__icon.ya-share2__icon_closing-cross {
  box-sizing: border-box;
  cursor: pointer;
  width: 40px;
  height: 40px;
  padding: 10px;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 20c5.523 0 10-4.477 10-10S15.523 0 10 0 0 4.477 0 10s4.477 10 10 10zM5.403 5.403a1 1 0 011.414 0L10 8.586l3.183-3.183a1 1 0 111.414 1.414L11.414 10l3.183 3.183a1 1 0 01-1.414 1.414L10 11.414l-3.183 3.183a1 1 0 01-1.414-1.414L8.586 10 5.403 6.817a1 1 0 010-1.414z' fill='%23000' fill-opacity='.2'/%3E%3C/svg%3E");
}
.ya-share2__popup-content .ya-share2__icon.ya-share2__icon_closing-cross:hover {
  opacity: 0.8;
}
.ya-share2__popup-content .ya-share2__icon.ya-share2__icon_closing-cross:active {
  opacity: 0.6;
}
.ya-share2__popup-content .ya-share2__item.ya-share2__item_copy.ya-share2__item_copy-link-button .ya-share2__icon_copy-icon {
  width: 15px;
  height: 14px;
  opacity: 1;
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.758 1a1 1 0 001 1h7.5a.5.5 0 01.5.5v7.497a1 1 0 002 0V2.5a2.5 2.5 0 00-2.5-2.5h-7.5a1 1 0 00-1 1zm-1.5 2h8a1.5 1.5 0 011.5 1.5v8a1.5 1.5 0 01-1.5 1.5h-8a1.5 1.5 0 01-1.5-1.5v-8a1.5 1.5 0 011.5-1.5zm.5 2v7h7V5h-7z' fill='%23000' fill-opacity='.3'/%3E%3C/svg%3E");
}
.ya-share2__popup-content .ya-share2__mobile-popup-badge.ya-share2__mobile-popup-badge_native-share {
  border: 1px solid rgba(0,0,0,0.15);
  background: #fff;
  box-sizing: border-box;
}
.ya-share2__popup-content .ya-share2__mobile-popup-badge.ya-share2__mobile-popup-badge_native-share .ya-share2__icon {
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.583 12.604a1.604 1.604 0 100-3.208 1.604 1.604 0 000 3.208zm12.834 0a1.604 1.604 0 100-3.208 1.604 1.604 0 000 3.208zM12.604 11a1.604 1.604 0 11-3.208 0 1.604 1.604 0 013.208 0z' fill='%23000' fill-opacity='.3'/%3E%3C/svg%3E");
}
.ya-share2__popup-content .ya-share2__mobile-popup-copy-link .ya-share2__item.ya-share2__item_copy.ya-share2__item_copy-link-button {
  display: flex;
  align-items: center;
  margin: 8px auto 32px;
  padding: 12px 20px;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 12px;
  background-color: #fff;
  font-size: 15px;
  line-height: 20px;
  color: #000;
}
.ya-share2__popup-content .ya-share2__mobile-popup-copy-link .ya-share2__item.ya-share2__item_copy.ya-share2__item_copy-link-button .ya-share2__link-title {
  padding-left: 8px;
}
.ya-share2__copied-tooltip {
  display: none;
  z-index: 9999;
  position: fixed;
  bottom: 6px;
  left: 50%;
  padding: 12px 20px;
  transform: translateX(-50%);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0px 4px 12px rgba(0,0,0,0.15), 0px 0px 2px rgba(0,0,0,0.05);
  color: rgba(0,0,0,0.8);
  font-size: 15px;
  line-height: 20px;
  white-space: nowrap;
}
.ya-share2__copied-tooltip_shown {
  display: block;
  animation: tooltipAppearance 2s ease-out forwards;
}
@media (min-width: 721px) {
  .ya-share2__popup.ya-share2__popup_mobile.ya-share2__popup_visible {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .ya-share2__popup.ya-share2__popup_mobile.ya-share2__popup_visible .ya-share2__popup-content {
    width: 720px;
    min-height: 310px;
    padding: 20px 0;
    bottom: auto;
  }
  .ya-share2__popup.ya-share2__popup_mobile.ya-share2__popup_visible .ya-share2__popup-content .ya-share2__popup-body {
    border-radius: 0 0 16px 16px;
  }
}
@-moz-keyframes tooltipAppearance {
  0% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
  8% {
    transform: translate(-50%, -10px);
    opacity: 1;
  }
  92% {
    transform: translate(-50%, -10px);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
}
@-webkit-keyframes tooltipAppearance {
  0% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
  8% {
    transform: translate(-50%, -10px);
    opacity: 1;
  }
  92% {
    transform: translate(-50%, -10px);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
}
@-o-keyframes tooltipAppearance {
  0% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
  8% {
    transform: translate(-50%, -10px);
    opacity: 1;
  }
  92% {
    transform: translate(-50%, -10px);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
}
@keyframes tooltipAppearance {
  0% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
  8% {
    transform: translate(-50%, -10px);
    opacity: 1;
  }
  92% {
    transform: translate(-50%, -10px);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
}
@-moz-keyframes overlayAppearance {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes overlayAppearance {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-o-keyframes overlayAppearance {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes overlayAppearance {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-moz-keyframes popupAppearance {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@-webkit-keyframes popupAppearance {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@-o-keyframes popupAppearance {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes popupAppearance {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.ya-share2__container,
.ya-share2__container .ya-share2__item {
  font-family: 'YS Text', Arial, sans-serif;
}
.ya-share2__list,
.ya-share2__badge,
.ya-share2__icon {
  display: inline-block;
  vertical-align: top;
}
.ya-share2__title {
  display: inline-block;
  vertical-align: bottom;
}
.ya-share2__list {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.ya-share2__link {
  display: block;
}
.ya-share2__item {
  display: inline-block;
  font-family: 'YS Text', Arial, sans-serif;
}
.ya-share2__item:not(.ya-share2__item_more):hover,
.ya-share2__item.ya-share2__item_more > .ya-share2__link:hover,
.ya-share2__item:not(.ya-share2__item_more):focus,
.ya-share2__item.ya-share2__item_more > .ya-share2__link:focus {
  cursor: pointer;
  opacity: 0.85;
}
.ya-share2__item:not(.ya-share2__item_more):active,
.ya-share2__item.ya-share2__item_more > .ya-share2__link:active {
  opacity: 0.7;
}
.ya-share2__link {
  text-decoration: none;
  white-space: nowrap;
}
.ya-share2__badge {
  border-radius: 4px;
  color: #fff;
  overflow: hidden;
  position: relative;
}
.ya-share2__container_mobile .ya-share2__badge {
  border-radius: 50%;
}
.ya-share2__title {
  color: #000;
}
.ya-share2__item_more {
  position: relative;
}
.ya-share2__item_more .ya-share2__link_more .ya-share2__title {
  display: none;
}
.ya-share2__item_more .ya-share2__icon_more {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 8a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zm5.5 0a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zm7-1.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3z' fill='%23999'/%3E%3C/svg%3E");
}
.ya-share2__container_color-scheme_blackwhite .ya-share2__item_more .ya-share2__icon_more {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 8a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zm5.5 0a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zm7-1.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3z' fill='%23fff'/%3E%3C/svg%3E");
}
.ya-share2__container_color-scheme_whiteblack .ya-share2__item_more .ya-share2__icon_more {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 8a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zm5.5 0a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zm7-1.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3z' fill='%23000'/%3E%3C/svg%3E");
}
.ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__icon_more {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6 2.9a2.7 2.7 0 01-4.554 1.963L5.303 7.28a2.702 2.702 0 010 1.44l4.743 2.417a2.7 2.7 0 11-.834 1.708l-5.05-2.575a2.7 2.7 0 110-4.54l5.05-2.575A2.7 2.7 0 1114.6 2.9z' fill='%23000'/%3E%3C/svg%3E");
}
.ya-share2__item_more .ya-share2__badge,
.ya-share2__item_copy .ya-share2__badge {
  background: rgba(0,0,0,0.03);
}
.ya-share2__item_more .ya-share2__icon,
.ya-share2__item_copy .ya-share2__icon {
  background-position: center;
  background-repeat: no-repeat;
}
.ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more {
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 50px;
}
.ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more:not(.ya-share2__link_more-button-type_short):hover,
.ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more:not(.ya-share2__link_more-button-type_short):focus {
  border-color: rgba(0,0,0,0.25);
  opacity: 1;
}
.ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more:not(.ya-share2__link_more-button-type_short):active {
  border-color: rgba(0,0,0,0.4);
  opacity: 1;
}
.ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__link_more:not(.ya-share2__link_more-button-type_short) .ya-share2__title {
  display: inline-block;
}
.ya-share2__item_more.ya-share2__item_has-pretty-view .ya-share2__badge_more {
  background: transparent;
}
.ya-share2__item_copy .ya-share2__icon {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2a1 1 0 001 1h7.5a.5.5 0 01.5.5v7.497a1 1 0 002 0V3.5A2.5 2.5 0 0012.5 1H5a1 1 0 00-1 1zM2.5 4h8A1.5 1.5 0 0112 5.5v8a1.5 1.5 0 01-1.5 1.5h-8A1.5 1.5 0 011 13.5v-8A1.5 1.5 0 012.5 4zM3 6v7h7V6H3z' fill='%23999'/%3E%3C/svg%3E");
}
.ya-share2__container_color-scheme_blackwhite .ya-share2__item_copy .ya-share2__icon {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2a1 1 0 001 1h7.5a.5.5 0 01.5.5v7.497a1 1 0 002 0V3.5A2.5 2.5 0 0012.5 1H5a1 1 0 00-1 1zM2.5 4h8A1.5 1.5 0 0112 5.5v8a1.5 1.5 0 01-1.5 1.5h-8A1.5 1.5 0 011 13.5v-8A1.5 1.5 0 012.5 4zM3 6v7h7V6H3z' fill='%23fff'/%3E%3C/svg%3E");
}
.ya-share2__container_color-scheme_whiteblack .ya-share2__item_copy .ya-share2__icon {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2a1 1 0 001 1h7.5a.5.5 0 01.5.5v7.497a1 1 0 002 0V3.5A2.5 2.5 0 0012.5 1H5a1 1 0 00-1 1zM2.5 4h8A1.5 1.5 0 0112 5.5v8a1.5 1.5 0 01-1.5 1.5h-8A1.5 1.5 0 011 13.5v-8A1.5 1.5 0 012.5 4zM3 6v7h7V6H3z' fill='%23000'/%3E%3C/svg%3E");
}
.ya-share2__item_copy .ya-share2__input_copy {
  display: none;
}
.ya-share2__item_copy .ya-share2__link_copy {
  display: inline-block;
}

.ya-share2__item_service_blogger .ya-share2__badge,
.ya-share2__item_service_blogger .ya-share2__mobile-popup-badge
{
    background-color: #fb8f3d;
}

.ya-share2__item_service_blogger .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.896 14.833A5.167 5.167 0 0114.729 20H9.166A5.167 5.167 0 014 14.833V9.167A5.166 5.166 0 019.166 4h2.608a5.167 5.167 0 015.167 5.167l.002.011c.037.536.484.96 1.03.96l.018-.002h.872c.57 0 1.034.463 1.034 1.034l-.001 3.663zM9.038 10.176h2.926a.993.993 0 000-1.987H9.038a.994.994 0 000 1.987zm5.867 3.83H9.032a.94.94 0 000 1.879h5.873a.94.94 0 100-1.88z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_blogger .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.896 14.833A5.167 5.167 0 0114.729 20H9.166A5.167 5.167 0 014 14.833V9.167A5.166 5.166 0 019.166 4h2.608a5.167 5.167 0 015.167 5.167l.002.011c.037.536.484.96 1.03.96l.018-.002h.872c.57 0 1.034.463 1.034 1.034l-.001 3.663zM9.038 10.176h2.926a.993.993 0 000-1.987H9.038a.994.994 0 000 1.987zm5.867 3.83H9.032a.94.94 0 000 1.879h5.873a.94.94 0 100-1.88z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_delicious .ya-share2__badge,
.ya-share2__item_service_delicious .ya-share2__mobile-popup-badge
{
    background-color: #31a9ff;
}

.ya-share2__item_service_delicious .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 12h8v8H4zm8-8h8v8h-7.984z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_delicious .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 12h8v8H4zm8-8h8v8h-7.984z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_digg .ya-share2__badge,
.ya-share2__item_service_digg .ya-share2__mobile-popup-badge
{
    background-color: #000;
}

.ya-share2__item_service_digg .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.555 10.814V14.1h.96s.18.005.18-.222v-3.287h-.96s-.18-.006-.18.222zm8.032 3.065v-3.287h-.96s-.18-.006-.18.222V14.1h.96s.18.006.18-.222zm-5.306 1.32c0 .227-.18.222-.18.222H4V9.497c0-.227.18-.222.18-.222h2.514V7.222c0-.227.18-.222.18-.222h1.408l-.001 8.199zm2.065 0c0 .227-.18.221-.18.221H8.761V9.496c0-.226.18-.221.18-.221h1.406v5.924zm0-7.103c0 .227-.18.222-.18.222H8.76V7.222c0-.227.18-.222.18-.222h1.408l-.001 1.096zm4.827 9.21c0 .228-.18.223-.18.223h-4.1v-1.096c0-.227.18-.222.18-.222h2.513v-.79h-2.694V9.497c0-.227.18-.222.18-.222l4.102.003v8.029zm4.826 0c0 .228-.18.223-.18.223h-4.1v-1.096c0-.227.18-.222.18-.222h2.514v-.79h-2.695V9.497c0-.227.18-.222.18-.222L20 9.279v8.028zm-1.585-3.427v-3.287h-.96s-.18-.006-.18.222V14.1h.96s.18.006.18-.222z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_digg .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.555 10.814V14.1h.96s.18.005.18-.222v-3.287h-.96s-.18-.006-.18.222zm8.032 3.065v-3.287h-.96s-.18-.006-.18.222V14.1h.96s.18.006.18-.222zm-5.306 1.32c0 .227-.18.222-.18.222H4V9.497c0-.227.18-.222.18-.222h2.514V7.222c0-.227.18-.222.18-.222h1.408l-.001 8.199zm2.065 0c0 .227-.18.221-.18.221H8.761V9.496c0-.226.18-.221.18-.221h1.406v5.924zm0-7.103c0 .227-.18.222-.18.222H8.76V7.222c0-.227.18-.222.18-.222h1.408l-.001 1.096zm4.827 9.21c0 .228-.18.223-.18.223h-4.1v-1.096c0-.227.18-.222.18-.222h2.513v-.79h-2.694V9.497c0-.227.18-.222.18-.222l4.102.003v8.029zm4.826 0c0 .228-.18.223-.18.223h-4.1v-1.096c0-.227.18-.222.18-.222h2.514v-.79h-2.695V9.497c0-.227.18-.222.18-.222L20 9.279v8.028zm-1.585-3.427v-3.287h-.96s-.18-.006-.18.222V14.1h.96s.18.006.18-.222z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_evernote .ya-share2__badge,
.ya-share2__item_service_evernote .ya-share2__mobile-popup-badge
{
    background-color: #24d666;
}

.ya-share2__item_service_evernote .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.277 7.109h1.517c.08 0 .16-.08.16-.16V5.313c0-.28.08-.559.159-.758l.04-.12L5.2 7.348l.16-.08c.239-.12.558-.16.917-.16zm11.654-.28c-.12-.638-.479-.917-.838-1.037-.36-.12-.718-.28-1.676-.4-.759-.08-1.557-.12-2.116-.12-.16-.438-.399-.917-1.317-1.156-.638-.16-1.796-.12-2.155-.08-.559.08-.758.319-.918.479-.16.16-.28.598-.28.878v1.556c0 .48-.318.838-.877.838H6.397c-.32 0-.559.04-.758.12-.16.12-.32.28-.4.4-.2.279-.239.598-.239.957 0 0 0 .28.08.798.04.4.479 3.033.878 3.911.16.36.28.48.599.639.718.32 2.354.639 3.152.758.759.08 1.278.32 1.557-.279 0 0 .04-.16.12-.36a6.3 6.3 0 00.28-1.915c0-.04.079-.04.079 0 0 .36-.08 1.557.838 1.876.36.12 1.118.24 1.876.32.678.079 1.197.358 1.197 2.114 0 1.078-.24 1.238-1.397 1.238-.958 0-1.317.04-1.317-.759 0-.598.599-.558 1.078-.558.2 0 .04-.16.04-.52 0-.398.24-.598 0-.598-1.557-.04-2.475 0-2.475 1.956 0 1.796.679 2.115 2.914 2.115 1.756 0 2.354-.04 3.073-2.275.16-.439.479-1.796.678-4.03.16-1.478-.12-5.788-.319-6.866zm-3.033 4.75c-.2 0-.32 0-.519.04h-.08s-.04 0-.04-.04v-.04c.08-.4.28-.878.878-.878.639.04.799.599.799 1.038v.04c0 .04-.04.04-.04.04-.04 0-.04 0-.04-.04-.28-.08-.599-.12-.958-.16z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_evernote .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.277 7.109h1.517c.08 0 .16-.08.16-.16V5.313c0-.28.08-.559.159-.758l.04-.12L5.2 7.348l.16-.08c.239-.12.558-.16.917-.16zm11.654-.28c-.12-.638-.479-.917-.838-1.037-.36-.12-.718-.28-1.676-.4-.759-.08-1.557-.12-2.116-.12-.16-.438-.399-.917-1.317-1.156-.638-.16-1.796-.12-2.155-.08-.559.08-.758.319-.918.479-.16.16-.28.598-.28.878v1.556c0 .48-.318.838-.877.838H6.397c-.32 0-.559.04-.758.12-.16.12-.32.28-.4.4-.2.279-.239.598-.239.957 0 0 0 .28.08.798.04.4.479 3.033.878 3.911.16.36.28.48.599.639.718.32 2.354.639 3.152.758.759.08 1.278.32 1.557-.279 0 0 .04-.16.12-.36a6.3 6.3 0 00.28-1.915c0-.04.079-.04.079 0 0 .36-.08 1.557.838 1.876.36.12 1.118.24 1.876.32.678.079 1.197.358 1.197 2.114 0 1.078-.24 1.238-1.397 1.238-.958 0-1.317.04-1.317-.759 0-.598.599-.558 1.078-.558.2 0 .04-.16.04-.52 0-.398.24-.598 0-.598-1.557-.04-2.475 0-2.475 1.956 0 1.796.679 2.115 2.914 2.115 1.756 0 2.354-.04 3.073-2.275.16-.439.479-1.796.678-4.03.16-1.478-.12-5.788-.319-6.866zm-3.033 4.75c-.2 0-.32 0-.519.04h-.08s-.04 0-.04-.04v-.04c.08-.4.28-.878.878-.878.639.04.799.599.799 1.038v.04c0 .04-.04.04-.04.04-.04 0-.04 0-.04-.04-.28-.08-.599-.12-.958-.16z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_facebook .ya-share2__badge,
.ya-share2__item_service_facebook .ya-share2__mobile-popup-badge
{
    background-color: #3b5998;
}

.ya-share2__item_service_facebook .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.423 20v-7.298h2.464l.369-2.845h-2.832V8.042c0-.824.23-1.385 1.417-1.385h1.515V4.111A20.255 20.255 0 0014.148 4c-2.183 0-3.678 1.326-3.678 3.76v2.097H8v2.845h2.47V20h2.953z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_facebook .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.423 20v-7.298h2.464l.369-2.845h-2.832V8.042c0-.824.23-1.385 1.417-1.385h1.515V4.111A20.255 20.255 0 0014.148 4c-2.183 0-3.678 1.326-3.678 3.76v2.097H8v2.845h2.47V20h2.953z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_linkedin .ya-share2__badge,
.ya-share2__item_service_linkedin .ya-share2__mobile-popup-badge
{
    background-color: #0083be;
}

.ya-share2__item_service_linkedin .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.246 8.954h3.41v10.281h-3.41zm1.725-4.935c-1.167 0-1.929.769-1.929 1.776 0 .987.74 1.777 1.884 1.777h.022c1.19 0 1.93-.79 1.93-1.777-.023-1.007-.74-1.776-1.907-1.776zm10.052 4.715c-1.81 0-2.62.997-3.073 1.698V8.976H9.54c.045.965 0 10.281 0 10.281h3.41v-5.742c0-.307.022-.614.112-.834.246-.613.807-1.25 1.75-1.25 1.233 0 1.727.944 1.727 2.325v5.501h3.41v-5.896c0-3.158-1.683-4.627-3.926-4.627z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_linkedin .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.246 8.954h3.41v10.281h-3.41zm1.725-4.935c-1.167 0-1.929.769-1.929 1.776 0 .987.74 1.777 1.884 1.777h.022c1.19 0 1.93-.79 1.93-1.777-.023-1.007-.74-1.776-1.907-1.776zm10.052 4.715c-1.81 0-2.62.997-3.073 1.698V8.976H9.54c.045.965 0 10.281 0 10.281h3.41v-5.742c0-.307.022-.614.112-.834.246-.613.807-1.25 1.75-1.25 1.233 0 1.727.944 1.727 2.325v5.501h3.41v-5.896c0-3.158-1.683-4.627-3.926-4.627z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_lj .ya-share2__badge,
.ya-share2__item_service_lj .ya-share2__mobile-popup-badge
{
    background-color: #0d425a;
}

.ya-share2__item_service_lj .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.815 13.3c.223 1.074.443 2.146.663 3.218.214 1.039.427 2.078.643 3.118.037.178-.148.385-.334.311-1.544-.565-3.063-1.135-4.585-1.706l-1.425-.534a.625.625 0 01-.318-.23l-7.39-8.903c-.067-.082-.082-.215-.06-.32.312-1.23.72-2.143 1.752-3.019C7.799 4.36 8.779 4.1 10.047 4.004c.156-.015.223.014.312.133l1.351 1.625v.001c1.968 2.367 3.935 4.733 5.897 7.099.109.124.18.275.208.438zM6.175 8.462c.69-1.795 2.3-3.004 3.835-3.301l-.185-.223a4.242 4.242 0 00-3.85 3.272l.2.252zm.504.601c.727-1.758 2.107-2.945 3.851-3.271l.89 1.06c-1.536.305-3.049 1.522-3.836 3.302l-.905-1.091zM9.364 8.9l3.926 4.719h-.002c.564.682-.014 2.656-.303 3.041l-4.89-5.89A6.12 6.12 0 019.364 8.9zm4.23 4.481L9.647 8.633c.69-.601 1.484-1.009 2.277-1.165l4.756 5.72c-.63.52-2.641.735-3.086.193zm3.36.298l.001-.001h-.001zm-2.93.526c1.03.208 2.32-.067 2.93-.526l.43 2.091.35 1.692c-.371.156-.69.386-.913.764l-1.528-.564-1.885-.712c.52-.853.69-1.922.616-2.745z' fill='%23FFF'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_lj .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.815 13.3c.223 1.074.443 2.146.663 3.218.214 1.039.427 2.078.643 3.118.037.178-.148.385-.334.311-1.544-.565-3.063-1.135-4.585-1.706l-1.425-.534a.625.625 0 01-.318-.23l-7.39-8.903c-.067-.082-.082-.215-.06-.32.312-1.23.72-2.143 1.752-3.019C7.799 4.36 8.779 4.1 10.047 4.004c.156-.015.223.014.312.133l1.351 1.625v.001c1.968 2.367 3.935 4.733 5.897 7.099.109.124.18.275.208.438zM6.175 8.462c.69-1.795 2.3-3.004 3.835-3.301l-.185-.223a4.242 4.242 0 00-3.85 3.272l.2.252zm.504.601c.727-1.758 2.107-2.945 3.851-3.271l.89 1.06c-1.536.305-3.049 1.522-3.836 3.302l-.905-1.091zM9.364 8.9l3.926 4.719h-.002c.564.682-.014 2.656-.303 3.041l-4.89-5.89A6.12 6.12 0 019.364 8.9zm4.23 4.481L9.647 8.633c.69-.601 1.484-1.009 2.277-1.165l4.756 5.72c-.63.52-2.641.735-3.086.193zm3.36.298l.001-.001h-.001zm-2.93.526c1.03.208 2.32-.067 2.93-.526l.43 2.091.35 1.692c-.371.156-.69.386-.913.764l-1.528-.564-1.885-.712c.52-.853.69-1.922.616-2.745z' fill='%23000'/%3E%3C/svg%3E");
}

.ya-share2__item_service_messenger .ya-share2__badge,
.ya-share2__item_service_messenger .ya-share2__mobile-popup-badge
{
    background-color: #03CECE;
}

.ya-share2__item_service_messenger .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.643 11.415L7.723 4.636a.703.703 0 00-1.048.62v1.826s3.961 1.542 4.284 1.662a.457.457 0 01.343.54c-.058.144-.18.128-.533.042-.352-.085-5.505-1.368-5.505-1.368a.62.62 0 00-.715.847l1.077 2.563s6.949.29 7.199.305c.247.015.393.134.397.327-.004.194-.15.312-.397.327-.25.014-7.199.305-7.199.305L4.55 15.196a.62.62 0 00.715.846s5.153-1.283 5.505-1.368c.353-.086.475-.102.533.042a.457.457 0 01-.343.54c-.323.12-4.284 1.663-4.284 1.663v1.825a.703.703 0 001.048.62l11.92-6.78a.658.658 0 000-1.169z' fill='%23FFF'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_messenger .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.643 11.415L7.723 4.636a.703.703 0 00-1.048.62v1.826s3.961 1.542 4.284 1.662a.457.457 0 01.343.54c-.058.144-.18.128-.533.042-.352-.085-5.505-1.368-5.505-1.368a.62.62 0 00-.715.847l1.077 2.563s6.949.29 7.199.305c.247.015.393.134.397.327-.004.194-.15.312-.397.327-.25.014-7.199.305-7.199.305L4.55 15.196a.62.62 0 00.715.846s5.153-1.283 5.505-1.368c.353-.086.475-.102.533.042a.457.457 0 01-.343.54c-.323.12-4.284 1.663-4.284 1.663v1.825a.703.703 0 001.048.62l11.92-6.78a.658.658 0 000-1.169z' fill='%23000'/%3E%3C/svg%3E");
}

.ya-share2__item_service_moimir .ya-share2__badge,
.ya-share2__item_service_moimir .ya-share2__mobile-popup-badge
{
    background-color: #168de2;
}

.ya-share2__item_service_moimir .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.889 9.667a1.333 1.333 0 100-2.667 1.333 1.333 0 000 2.667zm6.222 0a1.333 1.333 0 100-2.667 1.333 1.333 0 000 2.667zm4.77 6.108l-1.802-3.028a.879.879 0 00-1.188-.307.843.843 0 00-.313 1.166l.214.36a6.71 6.71 0 01-4.795 1.996 6.711 6.711 0 01-4.792-1.992l.217-.364a.844.844 0 00-.313-1.166.878.878 0 00-1.189.307l-1.8 3.028a.844.844 0 00.312 1.166.88.88 0 001.189-.307l.683-1.147a8.466 8.466 0 005.694 2.18 8.463 8.463 0 005.698-2.184l.685 1.151a.873.873 0 001.189.307.844.844 0 00.312-1.166z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_moimir .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.889 9.667a1.333 1.333 0 100-2.667 1.333 1.333 0 000 2.667zm6.222 0a1.333 1.333 0 100-2.667 1.333 1.333 0 000 2.667zm4.77 6.108l-1.802-3.028a.879.879 0 00-1.188-.307.843.843 0 00-.313 1.166l.214.36a6.71 6.71 0 01-4.795 1.996 6.711 6.711 0 01-4.792-1.992l.217-.364a.844.844 0 00-.313-1.166.878.878 0 00-1.189.307l-1.8 3.028a.844.844 0 00.312 1.166.88.88 0 001.189-.307l.683-1.147a8.466 8.466 0 005.694 2.18 8.463 8.463 0 005.698-2.184l.685 1.151a.873.873 0 001.189.307.844.844 0 00.312-1.166z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_odnoklassniki .ya-share2__badge,
.ya-share2__item_service_odnoklassniki .ya-share2__mobile-popup-badge
{
    background-color: #eb722e;
}

.ya-share2__item_service_odnoklassniki .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.674 6.536a1.69 1.69 0 00-1.688 1.688c0 .93.757 1.687 1.688 1.687a1.69 1.69 0 001.688-1.687 1.69 1.69 0 00-1.688-1.688zm0 5.763a4.08 4.08 0 01-4.076-4.075 4.08 4.08 0 014.076-4.077 4.08 4.08 0 014.077 4.077 4.08 4.08 0 01-4.077 4.075zm-1.649 3.325a7.633 7.633 0 01-2.367-.98 1.194 1.194 0 011.272-2.022 5.175 5.175 0 005.489 0 1.194 1.194 0 111.272 2.022 7.647 7.647 0 01-2.367.98l2.279 2.28a1.194 1.194 0 01-1.69 1.688l-2.238-2.24-2.24 2.24a1.193 1.193 0 11-1.689-1.689l2.279-2.279' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_odnoklassniki .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.674 6.536a1.69 1.69 0 00-1.688 1.688c0 .93.757 1.687 1.688 1.687a1.69 1.69 0 001.688-1.687 1.69 1.69 0 00-1.688-1.688zm0 5.763a4.08 4.08 0 01-4.076-4.075 4.08 4.08 0 014.076-4.077 4.08 4.08 0 014.077 4.077 4.08 4.08 0 01-4.077 4.075zm-1.649 3.325a7.633 7.633 0 01-2.367-.98 1.194 1.194 0 011.272-2.022 5.175 5.175 0 005.489 0 1.194 1.194 0 111.272 2.022 7.647 7.647 0 01-2.367.98l2.279 2.28a1.194 1.194 0 01-1.69 1.688l-2.238-2.24-2.24 2.24a1.193 1.193 0 11-1.689-1.689l2.279-2.279' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_pinterest .ya-share2__badge,
.ya-share2__item_service_pinterest .ya-share2__mobile-popup-badge
{
    background-color: #c20724;
}

.ya-share2__item_service_pinterest .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9.742c0 1.58.599 2.986 1.884 3.51.21.087.4.003.46-.23.043-.16.144-.568.189-.738.06-.23.037-.31-.133-.512-.37-.436-.608-1.001-.608-1.802 0-2.322 1.74-4.402 4.53-4.402 2.471 0 3.829 1.508 3.829 3.522 0 2.65-1.174 4.887-2.917 4.887-.963 0-1.683-.795-1.452-1.77.276-1.165.812-2.421.812-3.262 0-.752-.405-1.38-1.24-1.38-.985 0-1.775 1.017-1.775 2.38 0 .867.293 1.454.293 1.454L8.69 16.406c-.352 1.487-.053 3.309-.028 3.492.015.11.155.136.22.054.09-.119 1.262-1.564 1.66-3.008.113-.409.647-2.526.647-2.526.32.61 1.254 1.145 2.248 1.145 2.957 0 4.964-2.693 4.964-6.298C18.4 6.539 16.089 4 12.576 4 8.204 4 6 7.13 6 9.742z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_pinterest .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9.742c0 1.58.599 2.986 1.884 3.51.21.087.4.003.46-.23.043-.16.144-.568.189-.738.06-.23.037-.31-.133-.512-.37-.436-.608-1.001-.608-1.802 0-2.322 1.74-4.402 4.53-4.402 2.471 0 3.829 1.508 3.829 3.522 0 2.65-1.174 4.887-2.917 4.887-.963 0-1.683-.795-1.452-1.77.276-1.165.812-2.421.812-3.262 0-.752-.405-1.38-1.24-1.38-.985 0-1.775 1.017-1.775 2.38 0 .867.293 1.454.293 1.454L8.69 16.406c-.352 1.487-.053 3.309-.028 3.492.015.11.155.136.22.054.09-.119 1.262-1.564 1.66-3.008.113-.409.647-2.526.647-2.526.32.61 1.254 1.145 2.248 1.145 2.957 0 4.964-2.693 4.964-6.298C18.4 6.539 16.089 4 12.576 4 8.204 4 6 7.13 6 9.742z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_pocket .ya-share2__badge,
.ya-share2__item_service_pocket .ya-share2__mobile-popup-badge
{
    background-color: #ee4056;
}

.ya-share2__item_service_pocket .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.9 5c1.159 0 2.1.948 2.1 2.117v5.862c0 .108-.008.215-.024.32.016.156.024.314.024.473 0 3.36-3.582 6.085-8 6.085s-8-2.724-8-6.085c0-.159.008-.317.024-.473a2.148 2.148 0 01-.024-.32V7.117C4 5.948 4.94 5 6.1 5h11.8zM8.596 9.392L12 12.795l3.404-3.403a1.063 1.063 0 011.502 1.502l-4.132 4.131c-.21.21-.486.314-.76.311a1.062 1.062 0 01-.788-.31l-4.132-4.132a1.063 1.063 0 011.502-1.502z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_pocket .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.9 5c1.159 0 2.1.948 2.1 2.117v5.862c0 .108-.008.215-.024.32.016.156.024.314.024.473 0 3.36-3.582 6.085-8 6.085s-8-2.724-8-6.085c0-.159.008-.317.024-.473a2.148 2.148 0 01-.024-.32V7.117C4 5.948 4.94 5 6.1 5h11.8zM8.596 9.392L12 12.795l3.404-3.403a1.063 1.063 0 011.502 1.502l-4.132 4.131c-.21.21-.486.314-.76.311a1.062 1.062 0 01-.788-.31l-4.132-4.132a1.063 1.063 0 011.502-1.502z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_qzone .ya-share2__badge,
.ya-share2__item_service_qzone .ya-share2__mobile-popup-badge
{
    background-color: #f5b53c;
}

.ya-share2__item_service_qzone .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.367 14.463s-.105.148-.457.299l-.553.222.597 3.273c.062.282.25.983-.082 1.062-.17.04-.307-.067-.395-.121l-.769-.445-2.675-1.545c-.204-.122-.78-.546-1.093-.489-.205.038-.336.127-.483.216l-.77.445-2.39 1.386-.883.508c-.123.06-.301.058-.394-.025-.07-.063-.09-.253-.063-.388l.19-1.004.572-3.02c.047-.2.237-.975.166-1.137-.048-.107-.173-.196-.261-.267l-.61-.565-2.13-1.983c-.189-.153-.345-.345-.533-.496l-.235-.216c-.062-.078-.165-.235-.09-.369.142-.248.974-.218 1.335-.28l2.682-.31.82-.09c.146-.024.299-.004.413-.063.239-.123.51-.809.636-1.087l1.31-2.714c.151-.297.286-.603.431-.896.075-.15.133-.308.305-.356.162-.045.257.105.312.178.177.235.325.685.451.973l1.29 2.853c.104.238.363.964.54 1.074.266.166.858.108 1.227.172l2.841.292c.355.062 1.245.01 1.36.267.076.17-.072.314-.152.394l-.864.814-1.983 1.868c-.185.164-.77.637-.833.858-.04.14.02.414.088.722a95.62 95.62 0 01-1.182-.029c-.63-.007-2.616-.17-2.713-.178l-.84-.076c-.14-.023-.326.012-.4-.076v-.02c1.727-1.168 3.407-2.416 5.142-3.578l-.006-.044c-.146-.072-.359-.059-.54-.095-.385-.077-.79-.078-1.208-.147-.75-.124-1.59-.114-2.434-.114-1.172 0-2.329.03-3.35.21-.45.079-.894.095-1.309.197-.172.042-.358.03-.49.108l.007.012c.1.027.253.02.381.02l.928.019.808.025.813.032.591.032c.486.075 1.007.036 1.475.114.404.068.804.065 1.182.14.113.022.245.015.33.064v.006c-.039.094-.336.255-.432.318l-1.055.743-2.256 1.62-1.417.992c.003.048.024.035.045.061 1.15.167 2.52.258 3.77.262 1.298.005 2.465-.094 3.118-.193.561-.086 1.082-.147 1.653-.287.325-.08.521-.148.521-.148z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_qzone .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.367 14.463s-.105.148-.457.299l-.553.222.597 3.273c.062.282.25.983-.082 1.062-.17.04-.307-.067-.395-.121l-.769-.445-2.675-1.545c-.204-.122-.78-.546-1.093-.489-.205.038-.336.127-.483.216l-.77.445-2.39 1.386-.883.508c-.123.06-.301.058-.394-.025-.07-.063-.09-.253-.063-.388l.19-1.004.572-3.02c.047-.2.237-.975.166-1.137-.048-.107-.173-.196-.261-.267l-.61-.565-2.13-1.983c-.189-.153-.345-.345-.533-.496l-.235-.216c-.062-.078-.165-.235-.09-.369.142-.248.974-.218 1.335-.28l2.682-.31.82-.09c.146-.024.299-.004.413-.063.239-.123.51-.809.636-1.087l1.31-2.714c.151-.297.286-.603.431-.896.075-.15.133-.308.305-.356.162-.045.257.105.312.178.177.235.325.685.451.973l1.29 2.853c.104.238.363.964.54 1.074.266.166.858.108 1.227.172l2.841.292c.355.062 1.245.01 1.36.267.076.17-.072.314-.152.394l-.864.814-1.983 1.868c-.185.164-.77.637-.833.858-.04.14.02.414.088.722a95.62 95.62 0 01-1.182-.029c-.63-.007-2.616-.17-2.713-.178l-.84-.076c-.14-.023-.326.012-.4-.076v-.02c1.727-1.168 3.407-2.416 5.142-3.578l-.006-.044c-.146-.072-.359-.059-.54-.095-.385-.077-.79-.078-1.208-.147-.75-.124-1.59-.114-2.434-.114-1.172 0-2.329.03-3.35.21-.45.079-.894.095-1.309.197-.172.042-.358.03-.49.108l.007.012c.1.027.253.02.381.02l.928.019.808.025.813.032.591.032c.486.075 1.007.036 1.475.114.404.068.804.065 1.182.14.113.022.245.015.33.064v.006c-.039.094-.336.255-.432.318l-1.055.743-2.256 1.62-1.417.992c.003.048.024.035.045.061 1.15.167 2.52.258 3.77.262 1.298.005 2.465-.094 3.118-.193.561-.086 1.082-.147 1.653-.287.325-.08.521-.148.521-.148z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_reddit .ya-share2__badge,
.ya-share2__item_service_reddit .ya-share2__mobile-popup-badge
{
    background-color: #ff4500;
}

.ya-share2__item_service_reddit .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.542 10.63c-1.105-.636-2.494-1.033-4.025-1.118l.808-2.393 2.182.637c0 .963.78 1.742 1.743 1.742.964 0 1.758-.779 1.758-1.742C19.008 6.78 18.214 6 17.25 6c-.609 0-1.148.326-1.459.793l-2.65-.764a.482.482 0 00-.61.311l-1.063 3.172c-1.516.085-2.905.482-4.01 1.119a1.987 1.987 0 00-1.46-.623A1.995 1.995 0 004 12.004c0 .75.425 1.403 1.035 1.742-.029.17-.043.34-.043.51 0 2.62 3.146 4.744 7.015 4.744 3.855 0 7-2.124 7-4.744 0-.17-.013-.34-.042-.51A1.974 1.974 0 0020 12.004a1.995 1.995 0 00-1.998-1.996 2.01 2.01 0 00-1.46.623zM9.499 12.5a1.01 1.01 0 011.006 1.006.998.998 0 01-1.006.991.986.986 0 01-.992-.991.997.997 0 01.992-1.006zm5.002 0a.998.998 0 00-.992 1.006c0 .552.44.991.992.991a.998.998 0 001.006-.991 1.01 1.01 0 00-1.006-1.006zm-5.3 3.597a.484.484 0 01-.085-.694c.156-.226.482-.255.694-.085.567.44 1.474.68 2.197.68.709 0 1.616-.24 2.197-.68a.484.484 0 01.694.085.496.496 0 01-.085.694c-.737.58-1.885.907-2.806.907-.935 0-2.07-.326-2.806-.907zm8.05-7.59a.757.757 0 01-.752-.75c0-.426.34-.752.751-.752s.752.326.752.751c0 .41-.34.75-.752.75z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_reddit .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.542 10.63c-1.105-.636-2.494-1.033-4.025-1.118l.808-2.393 2.182.637c0 .963.78 1.742 1.743 1.742.964 0 1.758-.779 1.758-1.742C19.008 6.78 18.214 6 17.25 6c-.609 0-1.148.326-1.459.793l-2.65-.764a.482.482 0 00-.61.311l-1.063 3.172c-1.516.085-2.905.482-4.01 1.119a1.987 1.987 0 00-1.46-.623A1.995 1.995 0 004 12.004c0 .75.425 1.403 1.035 1.742-.029.17-.043.34-.043.51 0 2.62 3.146 4.744 7.015 4.744 3.855 0 7-2.124 7-4.744 0-.17-.013-.34-.042-.51A1.974 1.974 0 0020 12.004a1.995 1.995 0 00-1.998-1.996 2.01 2.01 0 00-1.46.623zM9.499 12.5a1.01 1.01 0 011.006 1.006.998.998 0 01-1.006.991.986.986 0 01-.992-.991.997.997 0 01.992-1.006zm5.002 0a.998.998 0 00-.992 1.006c0 .552.44.991.992.991a.998.998 0 001.006-.991 1.01 1.01 0 00-1.006-1.006zm-5.3 3.597a.484.484 0 01-.085-.694c.156-.226.482-.255.694-.085.567.44 1.474.68 2.197.68.709 0 1.616-.24 2.197-.68a.484.484 0 01.694.085.496.496 0 01-.085.694c-.737.58-1.885.907-2.806.907-.935 0-2.07-.326-2.806-.907zm8.05-7.59a.757.757 0 01-.752-.75c0-.426.34-.752.751-.752s.752.326.752.751c0 .41-.34.75-.752.75z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_renren .ya-share2__badge,
.ya-share2__item_service_renren .ya-share2__mobile-popup-badge
{
    background-color: #1760a7;
}

.ya-share2__item_service_renren .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.019 15.562l-.001-.003-.018.002a.055.055 0 00.019.001zM7.71 12.398l.146-.68c.048-.205.03-.452.03-.692V9.812L7.88 8c-.139 0-.278.043-.393.076-.358.102-.666.201-.962.352-1.158.59-2.022 1.565-2.387 2.944-.343 1.297-.007 2.652.522 3.507.118.19.269.48.44.61.135-.02.272-.15.375-.217a6.06 6.06 0 00.622-.452l.24-.229c.63-.506 1.075-1.346 1.373-2.193zm4.276 3.164h.02a.382.382 0 00-.019-.003v.003zm-3.01-.888l-.258-.575-.088-.264h-.01l-.264.498c-.176.288-.358.574-.557.839a6.5 6.5 0 01-.85.944l-.517.422.012.024.287.14c.206.091.43.173.657.235.788.217 1.811.177 2.545-.053.178-.055.643-.194.739-.305v-.017c-.177-.092-.324-.254-.47-.381a5.573 5.573 0 01-1.225-1.507zm10.884-3.302c-.365-1.379-1.23-2.354-2.387-2.944a5.277 5.277 0 00-.962-.352c-.115-.033-.254-.077-.393-.076l-.005 1.812v1.214c0 .24-.019.487.029.692l.147.68c.297.847.741 1.687 1.372 2.193l.24.23c.196.164.402.309.622.45.103.067.24.198.375.218.171-.13.322-.42.44-.61.529-.855.865-2.21.522-3.507zm-3.66 3.8c-.2-.265-.381-.55-.557-.839l-.264-.498h-.011l-.088.264-.258.575a5.576 5.576 0 01-1.226 1.507c-.145.127-.292.29-.469.38v.018c.096.111.561.25.739.305.734.23 1.757.27 2.545.053a4.85 4.85 0 00.657-.234l.287-.141a1.31 1.31 0 00.012-.024l-.516-.422a6.5 6.5 0 01-.85-.944zm-1.653-2.727c.068-.192.097-.402.146-.61.05-.21.024-.484.024-.727V9.753l-.006-1.741c-.015-.008-.02-.01-.047-.012-.197.047-.326.05-.592.14-.357.102-.685.275-.985.44-.289.16-.53.388-.78.587-.097.077-.199.19-.308.312l.01.01a1.19 1.19 0 00-.01.012l.36.47c.232.359.445.763.581 1.213.326 1.079.182 2.411-.235 3.273a4.9 4.9 0 01-.445.75l-.258.323a.018.018 0 01-.003.007c.004.007.01.016.012.022h.008c.395-.215.686-.574 1.027-.844.189-.15.354-.35.504-.54.404-.514.755-1.046.997-1.73zm-2.55 3.085l-.259-.323a4.903 4.903 0 01-.445-.75c-.417-.862-.561-2.194-.235-3.273.136-.45.35-.854.58-1.214L12 9.501l-.01-.011.01-.01a2.791 2.791 0 00-.308-.313c-.25-.2-.491-.427-.78-.586-.3-.166-.628-.339-.985-.44-.266-.09-.395-.094-.592-.141a.083.083 0 00-.047.012l-.006 1.741v1.355c0 .243-.026.517.024.727.049.208.078.418.146.61.242.684.593 1.216.997 1.73.15.19.315.39.505.54.34.27.63.629 1.026.844h.008c.001-.006.008-.015.012-.022a.019.019 0 01-.003-.007z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_renren .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.019 15.562l-.001-.003-.018.002a.055.055 0 00.019.001zM7.71 12.398l.146-.68c.048-.205.03-.452.03-.692V9.812L7.88 8c-.139 0-.278.043-.393.076-.358.102-.666.201-.962.352-1.158.59-2.022 1.565-2.387 2.944-.343 1.297-.007 2.652.522 3.507.118.19.269.48.44.61.135-.02.272-.15.375-.217a6.06 6.06 0 00.622-.452l.24-.229c.63-.506 1.075-1.346 1.373-2.193zm4.276 3.164h.02a.382.382 0 00-.019-.003v.003zm-3.01-.888l-.258-.575-.088-.264h-.01l-.264.498c-.176.288-.358.574-.557.839a6.5 6.5 0 01-.85.944l-.517.422.012.024.287.14c.206.091.43.173.657.235.788.217 1.811.177 2.545-.053.178-.055.643-.194.739-.305v-.017c-.177-.092-.324-.254-.47-.381a5.573 5.573 0 01-1.225-1.507zm10.884-3.302c-.365-1.379-1.23-2.354-2.387-2.944a5.277 5.277 0 00-.962-.352c-.115-.033-.254-.077-.393-.076l-.005 1.812v1.214c0 .24-.019.487.029.692l.147.68c.297.847.741 1.687 1.372 2.193l.24.23c.196.164.402.309.622.45.103.067.24.198.375.218.171-.13.322-.42.44-.61.529-.855.865-2.21.522-3.507zm-3.66 3.8c-.2-.265-.381-.55-.557-.839l-.264-.498h-.011l-.088.264-.258.575a5.576 5.576 0 01-1.226 1.507c-.145.127-.292.29-.469.38v.018c.096.111.561.25.739.305.734.23 1.757.27 2.545.053a4.85 4.85 0 00.657-.234l.287-.141a1.31 1.31 0 00.012-.024l-.516-.422a6.5 6.5 0 01-.85-.944zm-1.653-2.727c.068-.192.097-.402.146-.61.05-.21.024-.484.024-.727V9.753l-.006-1.741c-.015-.008-.02-.01-.047-.012-.197.047-.326.05-.592.14-.357.102-.685.275-.985.44-.289.16-.53.388-.78.587-.097.077-.199.19-.308.312l.01.01a1.19 1.19 0 00-.01.012l.36.47c.232.359.445.763.581 1.213.326 1.079.182 2.411-.235 3.273a4.9 4.9 0 01-.445.75l-.258.323a.018.018 0 01-.003.007c.004.007.01.016.012.022h.008c.395-.215.686-.574 1.027-.844.189-.15.354-.35.504-.54.404-.514.755-1.046.997-1.73zm-2.55 3.085l-.259-.323a4.903 4.903 0 01-.445-.75c-.417-.862-.561-2.194-.235-3.273.136-.45.35-.854.58-1.214L12 9.501l-.01-.011.01-.01a2.791 2.791 0 00-.308-.313c-.25-.2-.491-.427-.78-.586-.3-.166-.628-.339-.985-.44-.266-.09-.395-.094-.592-.141a.083.083 0 00-.047.012l-.006 1.741v1.355c0 .243-.026.517.024.727.049.208.078.418.146.61.242.684.593 1.216.997 1.73.15.19.315.39.505.54.34.27.63.629 1.026.844h.008c.001-.006.008-.015.012-.022a.019.019 0 01-.003-.007z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_sinaWeibo .ya-share2__badge,
.ya-share2__item_service_sinaWeibo .ya-share2__mobile-popup-badge
{
    background-color: #c53220;
}

.ya-share2__item_service_sinaWeibo .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.266 14.696c-.103.421.55.447.64.063.037-.191-.103-.332-.282-.332-.167 0-.333.128-.358.269zm-.128.945c.102-.498-.307-.869-.793-.843-.46.038-.843.358-.92.754-.115.511.307.882.793.844.46-.026.843-.345.92-.755zm3.797-3.157c-1.586-.997-3.707-1.01-5.42-.447-.857.28-1.764.818-2.301 1.495-.627.793-.882 1.815-.23 2.8.958 1.431 3.413 2.033 5.675 1.508 1.33-.307 2.749-1.048 3.35-2.326.562-1.177-.052-2.378-1.074-3.03zm-3.17.498c.945.167 1.7.755 1.827 1.739.243 1.854-2.173 3.336-4.026 2.327a1.933 1.933 0 01-.742-2.723c.435-.767 1.266-1.266 2.148-1.355a2.75 2.75 0 01.793.012zm6.11-.37c-.268-.18-.538-.281-.856-.383-.308-.103-.359-.154-.243-.46.076-.218.14-.41.166-.666.14-1.15-.793-1.495-1.854-1.406-.498.039-.92.167-1.355.307-.281.09-.806.384-.92.205-.064-.09.013-.23.038-.32.166-.626.23-1.496-.384-1.88-.447-.28-1.227-.204-1.7-.038-2.556.87-6.455 4.552-5.663 7.479.18.664.55 1.163.908 1.521 1.061 1.061 2.71 1.65 4.231 1.866 1.112.154 2.263.14 3.375-.064 1.815-.332 3.554-1.15 4.679-2.607.754-.972.997-2.352 0-3.235a3.334 3.334 0 00-.422-.319zm1.623-3.682c.652 1.483-.064 2.148.166 2.66.192.421.767.46 1.023.14.191-.243.294-.959.307-1.278a4.193 4.193 0 00-1.125-3.12c-.984-1.073-2.276-1.444-3.694-1.303-.256.025-.46.064-.601.217-.332.358-.166.882.294.959.384.063 1.342-.23 2.416.396.498.307.971.792 1.214 1.33zm-3.45-.562c-.282.345-.078.87.408.856.294-.012.358-.05.677.051.307.103.626.448.64.857.025.268-.282.895.32 1.061a.523.523 0 00.536-.166c.115-.128.166-.371.192-.575.089-.857-.333-1.598-1.01-2.02-.384-.23-1.445-.46-1.764-.064z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_sinaWeibo .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.266 14.696c-.103.421.55.447.64.063.037-.191-.103-.332-.282-.332-.167 0-.333.128-.358.269zm-.128.945c.102-.498-.307-.869-.793-.843-.46.038-.843.358-.92.754-.115.511.307.882.793.844.46-.026.843-.345.92-.755zm3.797-3.157c-1.586-.997-3.707-1.01-5.42-.447-.857.28-1.764.818-2.301 1.495-.627.793-.882 1.815-.23 2.8.958 1.431 3.413 2.033 5.675 1.508 1.33-.307 2.749-1.048 3.35-2.326.562-1.177-.052-2.378-1.074-3.03zm-3.17.498c.945.167 1.7.755 1.827 1.739.243 1.854-2.173 3.336-4.026 2.327a1.933 1.933 0 01-.742-2.723c.435-.767 1.266-1.266 2.148-1.355a2.75 2.75 0 01.793.012zm6.11-.37c-.268-.18-.538-.281-.856-.383-.308-.103-.359-.154-.243-.46.076-.218.14-.41.166-.666.14-1.15-.793-1.495-1.854-1.406-.498.039-.92.167-1.355.307-.281.09-.806.384-.92.205-.064-.09.013-.23.038-.32.166-.626.23-1.496-.384-1.88-.447-.28-1.227-.204-1.7-.038-2.556.87-6.455 4.552-5.663 7.479.18.664.55 1.163.908 1.521 1.061 1.061 2.71 1.65 4.231 1.866 1.112.154 2.263.14 3.375-.064 1.815-.332 3.554-1.15 4.679-2.607.754-.972.997-2.352 0-3.235a3.334 3.334 0 00-.422-.319zm1.623-3.682c.652 1.483-.064 2.148.166 2.66.192.421.767.46 1.023.14.191-.243.294-.959.307-1.278a4.193 4.193 0 00-1.125-3.12c-.984-1.073-2.276-1.444-3.694-1.303-.256.025-.46.064-.601.217-.332.358-.166.882.294.959.384.063 1.342-.23 2.416.396.498.307.971.792 1.214 1.33zm-3.45-.562c-.282.345-.078.87.408.856.294-.012.358-.05.677.051.307.103.626.448.64.857.025.268-.282.895.32 1.061a.523.523 0 00.536-.166c.115-.128.166-.371.192-.575.089-.857-.333-1.598-1.01-2.02-.384-.23-1.445-.46-1.764-.064z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_skype .ya-share2__badge,
.ya-share2__item_service_skype .ya-share2__mobile-popup-badge
{
    background-color: #00aff0;
}

.ya-share2__item_service_skype .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.537 13.698c.115-.52.176-1.06.176-1.614 0-4.155-3.415-7.524-7.63-7.524-.444 0-.88.038-1.304.11A4.444 4.444 0 008.425 4C5.981 4 4 5.954 4 8.364c0 .805.222 1.56.608 2.207a7.428 7.428 0 00-.155 1.513c0 4.156 3.416 7.4 7.63 7.4.477 0 .944-.044 1.397-.126.623.33 1.335.642 2.092.642 2.444 0 4.425-1.953 4.425-4.364a4.3 4.3 0 00-.46-1.938zm-3.974 1.457c-.294.418-.725.747-1.293.984-.567.238-1.239.356-2.016.356-.933 0-1.702-.162-2.308-.486a2.986 2.986 0 01-1.047-.934c-.268-.39-.403-.768-.403-1.137 0-.213.08-.395.242-.547a.855.855 0 01.615-.229.76.76 0 01.512.178c.14.119.26.294.358.527.12.278.25.51.39.695.139.185.336.34.589.46.254.12.587.18 1 .18.566 0 1.027-.12 1.382-.364.354-.243.532-.547.532-.91a.919.919 0 00-.287-.702 1.88 1.88 0 00-.741-.412 13.21 13.21 0 00-1.216-.303c-.678-.146-1.247-.318-1.703-.513-.458-.196-.822-.463-1.09-.8-.269-.34-.403-.759-.403-1.26 0-.48.142-.904.426-1.275.283-.372.693-.658 1.23-.858.537-.2 1.17-.299 1.895-.299.58 0 1.082.066 1.505.198.423.133.774.309 1.053.528.28.22.484.45.612.691.13.24.194.477.194.705 0 .21-.08.4-.241.567a.8.8 0 01-.603.252c-.22 0-.386-.05-.5-.151-.114-.101-.237-.266-.37-.495a2.27 2.27 0 00-.618-.768c-.241-.184-.627-.276-1.16-.276-.494 0-.893.1-1.196.3-.303.199-.455.44-.455.72 0 .173.053.324.155.45.103.128.245.235.426.326.18.091.363.162.547.214.185.052.49.126.916.225a15.47 15.47 0 011.446.38c.432.138.8.307 1.103.503.302.198.54.45.709.752.17.302.255.673.255 1.111 0 .525-.148.998-.442 1.417z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_skype .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.537 13.698c.115-.52.176-1.06.176-1.614 0-4.155-3.415-7.524-7.63-7.524-.444 0-.88.038-1.304.11A4.444 4.444 0 008.425 4C5.981 4 4 5.954 4 8.364c0 .805.222 1.56.608 2.207a7.428 7.428 0 00-.155 1.513c0 4.156 3.416 7.4 7.63 7.4.477 0 .944-.044 1.397-.126.623.33 1.335.642 2.092.642 2.444 0 4.425-1.953 4.425-4.364a4.3 4.3 0 00-.46-1.938zm-3.974 1.457c-.294.418-.725.747-1.293.984-.567.238-1.239.356-2.016.356-.933 0-1.702-.162-2.308-.486a2.986 2.986 0 01-1.047-.934c-.268-.39-.403-.768-.403-1.137 0-.213.08-.395.242-.547a.855.855 0 01.615-.229.76.76 0 01.512.178c.14.119.26.294.358.527.12.278.25.51.39.695.139.185.336.34.589.46.254.12.587.18 1 .18.566 0 1.027-.12 1.382-.364.354-.243.532-.547.532-.91a.919.919 0 00-.287-.702 1.88 1.88 0 00-.741-.412 13.21 13.21 0 00-1.216-.303c-.678-.146-1.247-.318-1.703-.513-.458-.196-.822-.463-1.09-.8-.269-.34-.403-.759-.403-1.26 0-.48.142-.904.426-1.275.283-.372.693-.658 1.23-.858.537-.2 1.17-.299 1.895-.299.58 0 1.082.066 1.505.198.423.133.774.309 1.053.528.28.22.484.45.612.691.13.24.194.477.194.705 0 .21-.08.4-.241.567a.8.8 0 01-.603.252c-.22 0-.386-.05-.5-.151-.114-.101-.237-.266-.37-.495a2.27 2.27 0 00-.618-.768c-.241-.184-.627-.276-1.16-.276-.494 0-.893.1-1.196.3-.303.199-.455.44-.455.72 0 .173.053.324.155.45.103.128.245.235.426.326.18.091.363.162.547.214.185.052.49.126.916.225a15.47 15.47 0 011.446.38c.432.138.8.307 1.103.503.302.198.54.45.709.752.17.302.255.673.255 1.111 0 .525-.148.998-.442 1.417z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_surfingbird .ya-share2__badge,
.ya-share2__item_service_surfingbird .ya-share2__mobile-popup-badge
{
    background-color: #30baff;
}

.ya-share2__item_service_surfingbird .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.315 8.49l-.214 1.987-3.436 3.382h-1.826l-.698 1.826v2.523l-2.47-.698 2.846-5.1L4 8.167l5.638.752L6.899 5l7.463 4.027 2.202-2.47h1.02L20 7.631z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_surfingbird .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.315 8.49l-.214 1.987-3.436 3.382h-1.826l-.698 1.826v2.523l-2.47-.698 2.846-5.1L4 8.167l5.638.752L6.899 5l7.463 4.027 2.202-2.47h1.02L20 7.631z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_telegram .ya-share2__badge,
.ya-share2__item_service_telegram .ya-share2__mobile-popup-badge
{
    background-color: #64a9dc;
}

.ya-share2__item_service_telegram .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.92 6.089L4.747 11.555c-.967.388-.962.928-.176 1.168l3.534 1.104 1.353 4.146c.164.454.083.634.56.634.368 0 .53-.168.736-.368.13-.127.903-.88 1.767-1.719l3.677 2.717c.676.373 1.165.18 1.333-.628l2.414-11.374c.247-.99-.378-1.44-1.025-1.146zM8.66 13.573l7.967-5.026c.398-.242.763-.112.463.154l-6.822 6.155-.265 2.833-1.343-4.116z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_telegram .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.92 6.089L4.747 11.555c-.967.388-.962.928-.176 1.168l3.534 1.104 1.353 4.146c.164.454.083.634.56.634.368 0 .53-.168.736-.368.13-.127.903-.88 1.767-1.719l3.677 2.717c.676.373 1.165.18 1.333-.628l2.414-11.374c.247-.99-.378-1.44-1.025-1.146zM8.66 13.573l7.967-5.026c.398-.242.763-.112.463.154l-6.822 6.155-.265 2.833-1.343-4.116z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_tencentWeibo .ya-share2__badge,
.ya-share2__item_service_tencentWeibo .ya-share2__mobile-popup-badge
{
    background-color: #53a9d7;
}

.ya-share2__item_service_tencentWeibo .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.813 6.01a4.397 4.397 0 00-4.326 6.121c.087.199.312.29.511.2a.382.382 0 00.206-.51 3.566 3.566 0 01-.286-1.668A3.616 3.616 0 018.76 6.79a3.615 3.615 0 013.366 3.84 3.615 3.615 0 01-4.65 3.218.39.39 0 00-.486.263.394.394 0 00.262.485c.315.093.647.152.977.174a4.397 4.397 0 004.677-4.087A4.398 4.398 0 008.813 6.01zm-1.348 5.658a1.67 1.67 0 10-.46-.655c-.274.27-.565.59-.854.966-1.022 1.315-2.224 3.694-2.148 7.007.006.204.157.484.355.497l.04.002c.213.015.394-.301.391-.516-.064-2.458.6-4.662 1.955-6.423.242-.316.488-.626.72-.878zm12.388 4.106c-1.307-.48-2.302-1.27-2.95-2.352a4.873 4.873 0 01-.354-.71.819.819 0 00.337-.36.829.829 0 00-.395-1.098.822.822 0 00-1.098.392.822.822 0 00.724 1.177c.091.237.218.516.39.81.483.812 1.431 1.912 3.196 2.558a.226.226 0 00.278-.113c0-.006.005-.01.007-.022a.224.224 0 00-.135-.282zm-3.767-1.676a2.04 2.04 0 01-1.707-3.042 2.039 2.039 0 012.784-.787 2.04 2.04 0 01.786 2.783 1.92 1.92 0 01-.268.378.223.223 0 00.014.314c.09.082.234.074.313-.016a2.489 2.489 0 10-4.017-2.89 2.493 2.493 0 002.08 3.708.224.224 0 00.015-.448z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_tencentWeibo .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.813 6.01a4.397 4.397 0 00-4.326 6.121c.087.199.312.29.511.2a.382.382 0 00.206-.51 3.566 3.566 0 01-.286-1.668A3.616 3.616 0 018.76 6.79a3.615 3.615 0 013.366 3.84 3.615 3.615 0 01-4.65 3.218.39.39 0 00-.486.263.394.394 0 00.262.485c.315.093.647.152.977.174a4.397 4.397 0 004.677-4.087A4.398 4.398 0 008.813 6.01zm-1.348 5.658a1.67 1.67 0 10-.46-.655c-.274.27-.565.59-.854.966-1.022 1.315-2.224 3.694-2.148 7.007.006.204.157.484.355.497l.04.002c.213.015.394-.301.391-.516-.064-2.458.6-4.662 1.955-6.423.242-.316.488-.626.72-.878zm12.388 4.106c-1.307-.48-2.302-1.27-2.95-2.352a4.873 4.873 0 01-.354-.71.819.819 0 00.337-.36.829.829 0 00-.395-1.098.822.822 0 00-1.098.392.822.822 0 00.724 1.177c.091.237.218.516.39.81.483.812 1.431 1.912 3.196 2.558a.226.226 0 00.278-.113c0-.006.005-.01.007-.022a.224.224 0 00-.135-.282zm-3.767-1.676a2.04 2.04 0 01-1.707-3.042 2.039 2.039 0 012.784-.787 2.04 2.04 0 01.786 2.783 1.92 1.92 0 01-.268.378.223.223 0 00.014.314c.09.082.234.074.313-.016a2.489 2.489 0 10-4.017-2.89 2.493 2.493 0 002.08 3.708.224.224 0 00.015-.448z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_tumblr .ya-share2__badge,
.ya-share2__item_service_tumblr .ya-share2__mobile-popup-badge
{
    background-color: #547093;
}

.ya-share2__item_service_tumblr .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.72 7.7h3.699v2.857h-3.7v4.102c0 .928-.01 1.463.087 1.726.098.262.343.534.61.69.355.213.758.32 1.214.32.81 0 1.616-.264 2.417-.79v2.522c-.683.322-1.302.55-1.857.678a7.94 7.94 0 01-1.798.195 4.905 4.905 0 01-1.724-.276 4.215 4.215 0 01-1.438-.79c-.399-.343-.673-.706-.826-1.09-.154-.386-.23-.945-.23-1.676v-5.611H7V8.29c.628-.203 1.357-.496 1.804-.877.45-.382.809-.84 1.08-1.374.272-.534.459-1.214.56-2.039h2.276v3.7z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_tumblr .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.72 7.7h3.699v2.857h-3.7v4.102c0 .928-.01 1.463.087 1.726.098.262.343.534.61.69.355.213.758.32 1.214.32.81 0 1.616-.264 2.417-.79v2.522c-.683.322-1.302.55-1.857.678a7.94 7.94 0 01-1.798.195 4.905 4.905 0 01-1.724-.276 4.215 4.215 0 01-1.438-.79c-.399-.343-.673-.706-.826-1.09-.154-.386-.23-.945-.23-1.676v-5.611H7V8.29c.628-.203 1.357-.496 1.804-.877.45-.382.809-.84 1.08-1.374.272-.534.459-1.214.56-2.039h2.276v3.7z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_twitter .ya-share2__badge,
.ya-share2__item_service_twitter .ya-share2__mobile-popup-badge
{
    background-color: #00aced;
}

.ya-share2__item_service_twitter .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 7.539a6.56 6.56 0 01-1.885.517 3.294 3.294 0 001.443-1.816 6.575 6.575 0 01-2.085.796 3.283 3.283 0 00-5.593 2.994A9.32 9.32 0 015.114 6.6a3.28 3.28 0 001.016 4.382 3.274 3.274 0 01-1.487-.41v.041a3.285 3.285 0 002.633 3.218 3.305 3.305 0 01-1.482.056 3.286 3.286 0 003.066 2.28A6.585 6.585 0 014 17.524 9.291 9.291 0 009.032 19c6.038 0 9.34-5 9.34-9.337 0-.143-.004-.285-.01-.425A6.672 6.672 0 0020 7.538z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_twitter .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 7.539a6.56 6.56 0 01-1.885.517 3.294 3.294 0 001.443-1.816 6.575 6.575 0 01-2.085.796 3.283 3.283 0 00-5.593 2.994A9.32 9.32 0 015.114 6.6a3.28 3.28 0 001.016 4.382 3.274 3.274 0 01-1.487-.41v.041a3.285 3.285 0 002.633 3.218 3.305 3.305 0 01-1.482.056 3.286 3.286 0 003.066 2.28A6.585 6.585 0 014 17.524 9.291 9.291 0 009.032 19c6.038 0 9.34-5 9.34-9.337 0-.143-.004-.285-.01-.425A6.672 6.672 0 0020 7.538z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__item_service_viber .ya-share2__badge,
.ya-share2__item_service_viber .ya-share2__mobile-popup-badge
{
    background-color: #7b519d;
}

.ya-share2__item_service_viber .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23FFF' fill-rule='evenodd'%3E%3Cpath d='M18.434 15.574c-.484-.391-1.002-.743-1.511-1.102-1.016-.718-1.945-.773-2.703.38-.426.648-1.021.677-1.644.392-1.718-.782-3.044-1.989-3.821-3.743-.344-.777-.34-1.473.465-2.022.425-.29.854-.634.82-1.268-.045-.828-2.043-3.593-2.832-3.885a1.429 1.429 0 00-.984 0C4.373 4.95 3.606 6.48 4.34 8.292c2.19 5.405 6.043 9.167 11.349 11.463.302.13.638.183.808.23 1.208.012 2.623-1.158 3.032-2.318.393-1.117-.438-1.56-1.096-2.093zM12.485 4.88c3.879.6 5.668 2.454 6.162 6.38.045.363-.09.909.426.919.538.01.408-.528.413-.89.045-3.699-3.163-7.127-6.888-7.253-.281.04-.863-.195-.9.438-.024.427.466.357.787.406z'/%3E%3Cpath d='M13.244 5.957c-.373-.045-.865-.222-.953.299-.09.546.458.49.811.57 2.395.538 3.23 1.414 3.624 3.802.057.349-.057.89.532.8.436-.066.278-.53.315-.802.02-2.293-1.936-4.38-4.329-4.669z'/%3E%3Cpath d='M13.464 7.832c-.249.006-.493.033-.585.3-.137.4.152.496.446.544.983.158 1.5.74 1.598 1.725.027.268.195.484.452.454.356-.043.389-.361.378-.664.017-1.106-1.227-2.385-2.289-2.359z'/%3E%3C/g%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_viber .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-rule='evenodd'%3E%3Cpath d='M18.434 15.574c-.484-.391-1.002-.743-1.511-1.102-1.016-.718-1.945-.773-2.703.38-.426.648-1.021.677-1.644.392-1.718-.782-3.044-1.989-3.821-3.743-.344-.777-.34-1.473.465-2.022.425-.29.854-.634.82-1.268-.045-.828-2.043-3.593-2.832-3.885a1.429 1.429 0 00-.984 0C4.373 4.95 3.606 6.48 4.34 8.292c2.19 5.405 6.043 9.167 11.349 11.463.302.13.638.183.808.23 1.208.012 2.623-1.158 3.032-2.318.393-1.117-.438-1.56-1.096-2.093zM12.485 4.88c3.879.6 5.668 2.454 6.162 6.38.045.363-.09.909.426.919.538.01.408-.528.413-.89.045-3.699-3.163-7.127-6.888-7.253-.281.04-.863-.195-.9.438-.024.427.466.357.787.406z'/%3E%3Cpath d='M13.244 5.957c-.373-.045-.865-.222-.953.299-.09.546.458.49.811.57 2.395.538 3.23 1.414 3.624 3.802.057.349-.057.89.532.8.436-.066.278-.53.315-.802.02-2.293-1.936-4.38-4.329-4.669z'/%3E%3Cpath d='M13.464 7.832c-.249.006-.493.033-.585.3-.137.4.152.496.446.544.983.158 1.5.74 1.598 1.725.027.268.195.484.452.454.356-.043.389-.361.378-.664.017-1.106-1.227-2.385-2.289-2.359z'/%3E%3C/g%3E%3C/svg%3E");
}

.ya-share2__item_service_vkontakte .ya-share2__badge,
.ya-share2__item_service_vkontakte .ya-share2__mobile-popup-badge
{
    background-color: #07f;
}

.ya-share2__item_service_vkontakte .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.878 17.304c-5.411 0-8.695-3.755-8.823-9.994h2.74c.086 4.583 2.171 6.528 3.77 6.925V7.31h2.627v3.954c1.542-.17 3.155-1.97 3.698-3.954h2.584c-.414 2.441-2.17 4.24-3.412 4.983 1.242.6 3.24 2.17 4.011 5.01h-2.84c-.6-1.898-2.07-3.369-4.04-3.569v3.57h-.315Z' fill='%23fff'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_vkontakte .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.878 17.304c-5.411 0-8.695-3.755-8.823-9.994h2.74c.086 4.583 2.171 6.528 3.77 6.925V7.31h2.627v3.954c1.542-.17 3.155-1.97 3.698-3.954h2.584c-.414 2.441-2.17 4.24-3.412 4.983 1.242.6 3.24 2.17 4.011 5.01h-2.84c-.6-1.898-2.07-3.369-4.04-3.569v3.57h-.315Z' fill='%23000'/%3E%3C/svg%3E");
}

.ya-share2__item_service_whatsapp .ya-share2__badge,
.ya-share2__item_service_whatsapp .ya-share2__mobile-popup-badge
{
    background-color: #65bc54;
}

.ya-share2__item_service_whatsapp .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 11.794c0 4.304-3.517 7.794-7.855 7.794a7.87 7.87 0 01-3.796-.97L4 20l1.418-4.182a7.714 7.714 0 01-1.127-4.024C4.29 7.489 7.807 4 12.145 4S20 7.49 20 11.794zm-7.855-6.553c-3.641 0-6.603 2.94-6.603 6.553A6.48 6.48 0 006.8 15.636l-.825 2.433 2.537-.806a6.6 6.6 0 003.633 1.084c3.642 0 6.604-2.94 6.604-6.553s-2.962-6.553-6.604-6.553zm3.967 8.348c-.049-.08-.177-.128-.37-.223-.192-.095-1.139-.558-1.315-.621-.177-.064-.305-.096-.434.095a10.92 10.92 0 01-.61.749c-.112.128-.224.143-.416.048-.193-.096-.813-.297-1.549-.948a5.76 5.76 0 01-1.07-1.323c-.113-.191-.013-.295.084-.39.086-.086.192-.223.289-.334.096-.112.128-.191.192-.319s.032-.239-.016-.335c-.048-.095-.433-1.035-.594-1.418-.16-.382-.32-.318-.433-.318-.112 0-.24-.016-.369-.016a.71.71 0 00-.513.239c-.177.19-.674.653-.674 1.593s.69 1.848.786 1.976c.096.127 1.332 2.119 3.289 2.884 1.958.764 1.958.51 2.31.477.353-.031 1.14-.461 1.3-.908.16-.446.16-.829.113-.908z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.ya-share2__container_color-scheme_whiteblack .ya-share2__item_service_whatsapp .ya-share2__icon
{
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 11.794c0 4.304-3.517 7.794-7.855 7.794a7.87 7.87 0 01-3.796-.97L4 20l1.418-4.182a7.714 7.714 0 01-1.127-4.024C4.29 7.489 7.807 4 12.145 4S20 7.49 20 11.794zm-7.855-6.553c-3.641 0-6.603 2.94-6.603 6.553A6.48 6.48 0 006.8 15.636l-.825 2.433 2.537-.806a6.6 6.6 0 003.633 1.084c3.642 0 6.604-2.94 6.604-6.553s-2.962-6.553-6.604-6.553zm3.967 8.348c-.049-.08-.177-.128-.37-.223-.192-.095-1.139-.558-1.315-.621-.177-.064-.305-.096-.434.095a10.92 10.92 0 01-.61.749c-.112.128-.224.143-.416.048-.193-.096-.813-.297-1.549-.948a5.76 5.76 0 01-1.07-1.323c-.113-.191-.013-.295.084-.39.086-.086.192-.223.289-.334.096-.112.128-.191.192-.319s.032-.239-.016-.335c-.048-.095-.433-1.035-.594-1.418-.16-.382-.32-.318-.433-.318-.112 0-.24-.016-.369-.016a.71.71 0 00-.513.239c-.177.19-.674.653-.674 1.593s.69 1.848.786 1.976c.096.127 1.332 2.119 3.289 2.884 1.958.764 1.958.51 2.31.477.353-.031 1.14-.461 1.3-.908.16-.446.16-.829.113-.908z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E");
}
</style><style nonce="">#b53ee77d43{width:1px;height:1px;position:relative;}</style><style nonce="">#id6999{width:1px;height:1px;top:0px;left:0px;position:absolute;}</style><style nonce="">#ya_partner_R-A-1583743-5{width:100%;height:100%;position:relative;}</style><style nonce="">#id9681{width:100%;height:100%;top:0px;left:0px;position:absolute;}</style></head>
        <body><div id="startid"></div><nav class="address"><a class="width_bcd" href="https://www.andreyolegovich.ru/">🏠</a><a href="https://www.andreyolegovich.ru/i/"><span class="width_bcd">|</span></a><a href="https://www.andreyolegovich.ru/i/"><span class="width_a">IT</span><span class="width_bcd">💻&nbsp;IT</span></a><a href="https://www.andreyolegovich.ru/code/"><span class="width_bcd">|</span></a><a href="https://www.andreyolegovich.ru/code/"><span class="width_a">Code</span><span class="width_bcd">Программирование</span></a><a href="https://www.andreyolegovich.ru/code/c/"><span class="width_bcd">|</span></a><a href="https://www.andreyolegovich.ru/code/c/"><span class="width_a">C</span><span class="width_bcd">C</span></a><a href="https://www.andreyolegovich.ru/code/c/"><span class="width_bcd">|</span></a></nav><!-- RB show --><aside class="rightbanner" id="rightBanner" style="position: fixed; top: 0px;"><div class="rb_grid"><div id="rb-first-adv" class="align-center w100"><!-- Yandex.RTB R-A-1583743-4 --><div id="yandex_rtb_R-A-1583743-4"><div></div></div><script>window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo: 'yandex_rtb_R-A-1583743-4', blockId: 'R-A-1583743-4'})})</script></div><div id="rb-content-articles"><div class="align-center">
                <button id="remove_adv_button">Убрать рекламу</button>
                <button id="show_adv_button">Вернуть рекламу</button>
            
            </div>
            <nav class="r_block_nav mt5">
            <a class="r_topic" href="https://www.andreyolegovich.ru/code/c/sockets.php#tableOfContent">СОДЕРЖАНИЕ</a>
        <a href="https://www.andreyolegovich.ru/code/c/sockets.php#intro">Введение</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#libs">Необходимые библиотеки</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#basics">Создание сокета</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#tcp_server">TCP Server</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#tcp_server2">TCP Server v2</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#tcp_client">TCP Client</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#socket_man">socket man</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#sys-socket">sys/socket.h</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#inet_aton">inet_aton</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#sockaddr_in">sockaddr_in</a><a href="https://www.andreyolegovich.ru/code/c/sockets.php#related_articles_footer">Другие статьи о С</a></nav></div><!-- Adv second --><div id="rb-second-adv">
                <!-- RS0 --><div id="right_slider_0" class="BlinkingBanner" style="display: none;">
                <div class="align-center w100 mt2"><!-- Yandex.RTB R-A-1583743-2 --><div id="yandex_rtb_R-A-1583743-2"><div></div></div><script>window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo: 'yandex_rtb_R-A-1583743-2', blockId: 'R-A-1583743-2'})})</script></div>
                </div>
                    <!-- RSLIDER 1 i=0 -->
                    <div id="right_slider_1" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://t.me/aofeed" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/banners/aofeed1.webp">  
            <source type="image/png" srcset="/aa_img/banners/aofeed1.png">   
            <img class="w100" src="./Сокеты в C_files/aofeed1.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 2 i=3 -->
                    <div id="right_slider_2" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://t.me/aofeed" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/banners/aofeed2.webp">  
            <source type="image/png" srcset="/aa_img/banners/aofeed2.png">   
            <img class="w100" src="./Сокеты в C_files/aofeed2.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 3 i=6 -->
                    <div id="right_slider_3" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/3pq25dkwhd5b523e94aabf50952f56" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/nb_computers/admitad_nbcomputers.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/nb_computers/admitad_nbcomputers.jpg">   
            <img class="w100" src="./Сокеты в C_files/admitad_nbcomputers.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 4 i=9 -->
                    <div id="right_slider_4" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/xhberu6jwc5b523e94aa4bfa9a7f2b/?i=4" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/admitad_wikium500x500.webp">  
            <source type="image/png" srcset="/aa_img/admitad/admitad_wikium500x500.png">   
            <img class="w100" src="./Сокеты в C_files/admitad_wikium500x500.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 5 i=12 -->
                    <div id="right_slider_5" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://c169.travelpayouts.com/click?shmarker=201961&amp;trs=38187&amp;promo_id=5060&amp;source_type=banner&amp;type=click" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/travelpouts/big_country/250x250/russia.webp">  
            <source type="image/png" srcset="/aa_img/travelpouts/big_country/250x250/russia.png">   
            <img class="w100" src="./Сокеты в C_files/russia.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 6 i=15 -->
                    <div id="right_slider_6" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://fas.st/D_7AoK" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/sony/sony_rb_500x500.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/sony/sony_rb_500x500.jpg">   
            <img class="w100" src="./Сокеты в C_files/sony_rb_500x500.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 7 i=18 -->
                    <div id="right_slider_7" class="BlinkingBanner" style="display: inline;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/hw12tyatxl5b523e94aa1ac5a4392d/?i=4" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/admitad_puzzle-english500x500.webp">  
            <source type="image/png" srcset="/aa_img/admitad/admitad_puzzle-english500x500.png">   
            <img class="w100" src="./Сокеты в C_files/admitad_puzzle-english500x500.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 8 i=21 -->
                    <div id="right_slider_8" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/szq4wwgsqh5b523e94aa0334bf6817/" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/book24/do_not_make_me_think.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/book24/do_not_make_me_think.jpg">   
            <img class="w100" src="./Сокеты в C_files/do_not_make_me_think.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 9 i=24 -->
                    <div id="right_slider_9" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://tp.media/r?marker=201961.rb&amp;trs=38807&amp;p=4268&amp;u=https%3A%2F%2Ftezeks.com%2F" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/travelpouts/tekez_russia.webp">  
            <source type="image/jpeg" srcset="/aa_img/travelpouts/tekez_russia.jpg">   
            <img class="w100" src="./Сокеты в C_files/tekez_russia.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 10 i=27 -->
                    <div id="right_slider_10" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/zdthfi8xi95b523e94aafbfd3e99ca/?i=4" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/sbermega_lego_500x500.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/sbermega_lego_500x500.jpg">   
            <img class="w100" src="./Сокеты в C_files/sbermega_lego_500x500.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 11 i=30 -->
                    <div id="right_slider_11" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/62y0fm16ok5b523e94aa2b188cf1ed/" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/yandex_rent_500x500.webp">  
            <source type="image/png" srcset="/aa_img/admitad/yandex_rent_500x500.png">   
            <img class="w100" src="./Сокеты в C_files/yandex_rent_500x500.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 12 i=33 -->
                    <div id="right_slider_12" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/hfrq9tjrsp5b523e94aad7a732141a" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/kwork/kwork_refactor_website600x600.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/kwork/kwork_refactor_website600x600.jpg">   
            <img class="w100" src="./Сокеты в C_files/kwork_refactor_website600x600.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 13 i=36 -->
                    <div id="right_slider_13" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/hfrq9tjrsp5b523e94aad7a732141a" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/kwork/kwork_all600x600.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/kwork/kwork_all600x600.jpg">   
            <img class="w100" src="./Сокеты в C_files/kwork_all600x600.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 14 i=39 -->
                    <div id="right_slider_14" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/hfrq9tjrsp5b523e94aad7a732141a" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/kwork/kwork_banners600x600.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/kwork/kwork_banners600x600.jpg">   
            <img class="w100" src="./Сокеты в C_files/kwork_banners600x600.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 15 i=42 -->
                    <div id="right_slider_15" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/hfrq9tjrsp5b523e94aad7a732141a" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/kwork/kwork_logos600x600.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/kwork/kwork_logos600x600.jpg">   
            <img class="w100" src="./Сокеты в C_files/kwork_logos600x600.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 16 i=45 -->
                    <div id="right_slider_16" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/hfrq9tjrsp5b523e94aad7a732141a" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/kwork/kwork_scripts600x600.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/kwork/kwork_scripts600x600.jpg">   
            <img class="w100" src="./Сокеты в C_files/kwork_scripts600x600.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 17 i=48 -->
                    <div id="right_slider_17" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/hfrq9tjrsp5b523e94aad7a732141a" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/kwork/kwork_social_media600x600.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/kwork/kwork_social_media600x600.jpg">   
            <img class="w100" src="./Сокеты в C_files/kwork_social_media600x600.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 18 i=51 -->
                    <div id="right_slider_18" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://beget.com/p3421" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/beget/beget_40_partners250x250.webp">  
            <source type="image/png" srcset="/aa_img/beget/beget_40_partners250x250.png">   
            <img class="w100" src="./Сокеты в C_files/beget_40_partners250x250.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 19 i=54 -->
                    <div id="right_slider_19" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/jlntp67r8y5b523e94aae5a65aad3a/?i=4" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/kaspersky/kaspersky_kid500x500.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/kaspersky/kaspersky_kid500x500.jpg">   
            <img class="w100" src="./Сокеты в C_files/kaspersky_kid500x500.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 20 i=57 -->
                    <div id="right_slider_20" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/29dvv5poa15b523e94aae5a65aad3a/?i=4" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/kaspersky/kaspersky_where_is_kid500x500.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/kaspersky/kaspersky_where_is_kid500x500.jpg">   
            <img class="w100" src="./Сокеты в C_files/kaspersky_where_is_kid500x500.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 21 i=60 -->
                    <div id="right_slider_21" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/8uabqsvdy85b523e94aae5a65aad3a/?i=4" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/kaspersky/kaspersky_family500x500.webp">  
            <source type="image/jpeg" srcset="/aa_img/admitad/kaspersky/kaspersky_family500x500.jpg">   
            <img class="w100" src="./Сокеты в C_files/kaspersky_family500x500.jpg" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 22 i=63 -->
                    <div id="right_slider_22" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/exe221unkp5b523e94aaddf84d4c0b/" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/turbovpn-500x500.4820.webp">  
            <source type="image/png" srcset="/aa_img/admitad/turbovpn-500x500.4820.png">   
            <img class="w100" src="./Сокеты в C_files/turbovpn-500x500.4820.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 23 i=66 -->
                    <div id="right_slider_23" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://ad.admitad.com/g/exe221unkp5b523e94aaddf84d4c0b/" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/turbovpn_fastest_500x500.3461.webp">  
            <source type="image/png" srcset="/aa_img/admitad/turbovpn_fastest_500x500.3461.png">   
            <img class="w100" src="./Сокеты в C_files/turbovpn_fastest_500x500.3461.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 24 i=69 -->
                    <div id="right_slider_24" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://www.andreyolegovich.ru/code/c/sockets.php" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/atlasvpn500x500.1.webp">  
            <source type="image/png" srcset="/aa_img/admitad/atlasvpn500x500.1.png">   
            <img class="w100" src="./Сокеты в C_files/atlasvpn500x500.1.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 25 i=72 -->
                    <div id="right_slider_25" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://www.andreyolegovich.ru/code/c/sockets.php" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/atlasvpn500x500.2.webp">  
            <source type="image/png" srcset="/aa_img/admitad/atlasvpn500x500.2.png">   
            <img class="w100" src="./Сокеты в C_files/atlasvpn500x500.2.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div>
                    <!-- RSLIDER 26 i=75 -->
                    <div id="right_slider_26" class="BlinkingBanner" style="display: none;">
                    <div class="align-center w100 mt2">
                
    <a href="https://www.andreyolegovich.ru/code/c/sockets.php" rel="nofollow">
        <picture>                                                                                                                  
            <source type="image/webp" srcset="/aa_img/admitad/atlasvpn500x500.3.webp">  
            <source type="image/png" srcset="/aa_img/admitad/atlasvpn500x500.3.png">   
            <img class="w100" src="./Сокеты в C_files/atlasvpn500x500.3.png" alt="Изображение баннера">
        </picture>
    </a>
    </div></div></div>
            <div id="rb-related-articles"><nav class="r_block_nav mt5">
            <a class="r_topic" href="https://www.andreyolegovich.ru/code/c/sockets.php#related_articles_footer">ПОХОЖИЕ СТАТЬИ</a>
        <a href="https://www.andreyolegovich.ru/code/c/">Программирование на C</a><a href="https://www.andreyolegovich.ru/code/c/lessons.php">Учебник по Си</a><a href="https://www.andreyolegovich.ru/code/c/boolean.php">Boolean в Си</a><a href="https://www.andreyolegovich.ru/code/c/kernigan_ritchie.php">К и Р</a><a href="https://www.andreyolegovich.ru/code/c/argc_argv.php">Что такое <b>argc</b>, <b>char * argv[]</b></a><a href="https://www.andreyolegovich.ru/code/c/scanf.php">Функция <b>scanf()</b></a><a href="https://www.andreyolegovich.ru/code/c/pointers.php">Указатели</a><a href="https://www.andreyolegovich.ru/code/c/structures.php">Структуры в Си</a><a href="https://www.andreyolegovich.ru/code/c/member_selection_operator.php">Оператор «стрелка» указатель на член структуры</a></nav></div><script src="./Сокеты в C_files/rb_script2.js"></script></div></aside>
        <div class="verticalNavButtonsDiv">
        <a class="toTopButton" href="https://www.andreyolegovich.ru/code/c/sockets.php#startid" title="Наверх">
            <span class="arrow up"></span>
        </a>
        <br>
        <br>
        <a class="toBottomButton" href="https://www.andreyolegovich.ru/code/c/sockets.php#bottomid" title="Вниз">
            <span class="arrow down"></span>
        </a>
        </div>
        <main class="wrapper mt5">
        <h1>Сокеты в C</h1><div id="tableOfContent"></div><table class="tcont"><caption>Содержание</caption><tbody><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#intro">Введение</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#libs">Необходимые библиотеки</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#basics">Создание сокета</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#tcp_server">TCP Server</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#tcp_server2">TCP Server v2</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#tcp_client">TCP Client</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#socket_man">socket man</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#sys-socket">sys/socket.h</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#inet_aton">inet_aton</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#sockaddr_in">sockaddr_in</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/sockets.php#related_articles_footer">Другие статьи о С</a></td></tr></tbody></table>
<div id="libs" class="anchor"></div>
<h2 class="h2mTop">
    Необходимые библиотеки
</h2>
<p class="p2">
    Примерный набор библиотек, которые, скорее всего, придётся подключить выглядит так
</p>
<p class="somecode w100 mt2">
<code><span class="violet">#include</span> &lt;stdlib.h&gt;</code>
<code><span class="violet">#include</span> &lt;string.h&gt;</code>
<code><span class="violet">#include</span> &lt;stdio.h&gt;</code>
<code><span class="violet">#include</span> &lt;unistd.h&gt;</code>
<code><span class="violet">#include</span> &lt;sys/types.h&gt;</code>
<code><span class="violet">#include</span> &lt;sys/socket.h&gt;</code>
<code><span class="violet">#include</span> &lt;netinet/in.h&gt;</code>
</p>
<p class="p8">
    Хочу обратить Ваше внимание на то, что библиотеки sys/types, sys/socket не подключатся если Вы работаете
    в Windows с компилятором MinGW.
    <br><br>
    Попробуйте компилировать с помощью 
    <a href="https://www.andreyolegovich.ru/i/gcc/#wsl">
        подсистемы Linux для  Windows
    </a>.
</p>
<div id="basics" class="anchor"></div>
<h2 class="h2mTop">
    Создание сокета
</h2>
<p class="p2">
    Сокет в Си создаётся следующим образом:
</p>
<p class="somecode w100 mt2">
<code><span class="blue">int</span> socket(<span class="blue">int</span> domain, <span class="blue">int</span> type, <span class="blue">int</span> protocol);</code>
</p>
<p class="p2">
    <strong>domain</strong>: Аргументом является семейство протоколов.
    Если Вы планируете использовать IPv4 укажите домен AF_INET.
    <br><br>
    Если нужен IPv6 то AF_INET6. Полный список смотрите в разделе
    <a href="https://www.andreyolegovich.ru/code/c/sockets.php#man_description">
        MAN DESCRIPTION
    </a>
    <br><br><br>
    <strong>type</strong>: Обычно выбирают SOCK_STREAM это надёжная упорядоченная передача байтов в режиме полный дуплекс.
    <br><br>
    Полный список типов:
    <a href="https://www.andreyolegovich.ru/code/c/sockets.php#man_types">
        MAN DESCRIPTION types
    </a>
    <br><br><br>
    <strong>protocol</strong>: Обычно выбирают 0. Если Вам нужен не 0, то Вы уже, видимо, знаете, что делаете лучше меня.
    <br><br>
    Типичный вариант создания сокета выглядит так:
</p>
<p class="somecode w100 mt2">
<code><span class="blue">int</span> socket(AF_INET, SOCK_STREAM, 0);</code>
</p>
<div id="tcp_server" class="anchor"></div>
<h2 class="h2mTop">
    TCP Сервер
</h2>
<p class="p2">
</p>
<p class="somecode w100 mt5">
<code><span class="violet">#include</span> &lt;stdlib.h&gt;</code>
<code><span class="violet">#include</span> &lt;string.h&gt;</code>
<code><span class="violet">#include</span> &lt;stdio.h&gt;</code>
<code><span class="violet">#include</span> &lt;unistd.h&gt;</code>
<code></code>
<code><span class="violet">#include</span> &lt;sys/types.h&gt;</code>
<code><span class="violet">#include</span> &lt;sys/socket.h&gt;</code>
<code><span class="violet">#include</span> &lt;netinet/in.h&gt;</code>
<code></code>
<code><span class="blue">int</span> main() {</code>
<code></code>
<code>    <span class="blue">char</span> <span class="lightblue">server_message</span>[256] = "You have reached the server!";</code>
<code></code>
<code class="green">    // create the server socket</code>
<code>    <span class="blue">int</span> <span class="lightblue">server_socket</span>;</code>
<code>    <span class="lightblue">server_socket</span> = socket(AF_INET, SOCK_STREAM, 0);</code>
<code></code>
<code class="green">    // define the server address</code>
<code>    struct sockaddr_in server_address;</code>
<code>    server_address.sin_family = AF_INET;</code>
<code>    server_address.sin_port = htons(9002);</code>
<code>    server_address.sin_addr.s_addr = INADDR_ANY;</code>
<code></code>
<code class="green">    // bind the socket to our specified IP and port</code>
<code>    bind(<span class="lightblue">server_socket</span>, (struct sockaddr*) &amp;server_address, sizeof(server_address));</code>
<code></code>
<code class="green">    // second agrument is a backlog - how many connections can be waiting for this socket simultaneously</code>
<code>    listen(<span class="lightblue">server_socket</span>, 5);</code>
<code></code>
<code>    <span class="blue">int</span> client_socket;</code>
<code></code>
<code>    client_socket = accept(<span class="lightblue">server_socket</span>, NULL, NULL);</code>
<code></code>
<code class="green">    // send the message</code>
<code>    send(client_socket, <span class="lightblue">server_message</span>, sizeof(<span class="lightblue">server_message</span>), 0);</code>
<code></code>
<code class="green">    // close the socket</code>
<code>    close(<span class="lightblue">server_socket</span>);</code>
<code></code>
<code>	return 0;</code>
<code>}</code>
</p>
<div id="tcp_server2" class="anchor"></div>
<h2 class="h2mTop">
    TCP Сервер v 2
</h2>
<p class="p1">
    Более продвинутая версия
</p>
<p class="somecode p2">
<code><span class="violet">#include</span> <span class="orange">&lt;stdio.h&gt;</span></code>
<code><span class="violet">#include</span> <span class="orange">&lt;stdlib.h&gt;</span></code>
<code><span class="violet">#include</span> <span class="orange">&lt;string.h&gt;</span></code>
<code><span class="violet">#include</span> <span class="orange">&lt;unistd.h&gt;</span></code>
<code><span class="violet">#include</span> <span class="orange">&lt;sys/types.h&gt;</span></code>
<code><span class="violet">#include</span> <span class="orange">&lt;sys/socket.h&gt;</span></code>
<code><span class="violet">#include</span> <span class="orange">&lt;netinet/in.h&gt;</span></code>
<code><span class="violet">#define</span> <span class="blue">SERVER_PORT</span> 9002</code>
<code></code>
<code><span class="blue">void</span> <span class="yellow">processing_message</span>(<span class="blue">unsigned char</span> *s, <span class="blue">int</span> n)</code>
<code>{  </code>
<code>    <span class="yellow">printf</span>(<span class="orange">"processing message...</span>\n<span class="orange">"</span>);</code>
<code>    <span class="blue">unsigned char</span> *p;</code>
<code>    <span class="violet">for</span> (p=s; p &lt; s + n; p++)</code>
<code>    {</code>
<code>        <span class="violet">if</span> (islower(*p))</code>
<code>        {</code>
<code>            *p += 13;</code>
<code>            if(*p &gt; 'z') *p -= 26;</code>
<code>        }</code>
<code>    }</code>
<code>}  </code>
<code></code>
<code><span class="blue">void</span> <span class="yellow">processing_message_service</span>(<span class="blue">int</span> in, <span class="blue">int</span> out)</code>
<code>{  </code>
<code>    <span class="yellow">printf</span>("processing message service...\n");</code>
<code>    <span class="yellow">printf</span>("fd is: %f\n", in);</code>
<code>    <span class="blue">unsigned char</span> buf[1024]; // Pre-allocated buffer</code>
<code>    <span class="blue">int</span> count;</code>
<code></code>
<code class="green">    // ssize_t recv(<span class="blue">int</span> sockfd, <span class="blue">void</span> *buf, size_t len, <span class="blue">int</span> flags);</code>
<code class="green">    // ssize_t read(<span class="blue">int</span> fd, <span class="blue">void</span> *buf, size_t count);</code>
<code class="green">    //count = recv(in, &amp;buf, 1024,0);</code>
<code class="green">    //printf("%p\n",count);</code>
<code class="green">    //if (count &lt;0)  {perror("HH_ERROR: recv() failed");}</code>
<code class="green">    //while ((count = recv(in, buf, 1024,0)) &gt; 0)</code>
<code></code>
<code>    <span class="violet">while</span>  ((count = read(in, buf, 1024)) &gt; 0) {</code>
<code>        <span class="yellow">printf</span>("%p\n",count);</code>
<code>        <span class="yellow">printf</span>("reading...\n");</code>
<code>        processing_message(buf, count);</code>
<code>        //send(out, buf, count, 0);</code>
<code>        write(out, buf, count);</code>
<code>    }</code>
<code></code>
<code>}  </code>
<code></code>
<code></code>
<code><span class="blue">int</span> main() {</code>
<code></code>
<code>    <span class="yellow">printf</span>("HH: TCP SERVER is starting\n");</code>
<code class="green">    // we will use this rc variable to test <span class="violet">if</span> the</code>
<code class="green">    // function calls were successfull</code>
<code>    <span class="blue">int</span> rc;</code>
<code></code>
<code>    <span class="blue">char</span> <span class="lightblue">server_message</span>[256] = "HH: You have reached the server!\n";</code>
<code></code>
<code class="green">    // create the server socket</code>
<code>    <span class="blue">int</span> <span class="lightblue">server_socket</span>;</code>
<code>    <span class="lightblue">server_socket</span> = socket(AF_INET, SOCK_STREAM, 0);</code>
<code></code>
<code>    <span class="violet">if</span> (<span class="lightblue">server_socket</span> == -1) {</code>
<code>        <span class="yellow">perror</span>(<span class="orange">"HH_ERROR: error in calling socket()"</span>);</code>
<code>        <span class="yellow">exit</span>(1);</code>
<code>    };</code>
<code></code>
<code class="green">    // define the server address</code>
<code class="green">    // htons means host to network short and is related to network byte order</code>
<code class="green">    // htonl host to network long</code>
<code>    <span class="blue">struct</span>  sockaddr_in server_address;</code>
<code>    <span class="blue">struct</span>  sockaddr_in client_address;</code>
<code></code>
<code>    server_address.sin_family = AF_INET;           // IPv4</code>
<code>    server_address.sin_port = htons(<span class="blue">SERVER_PORT</span>);</code>
<code class="green">    // port is 16 bit so htons is enough.</code>
<code class="green">    //htons returns host_uint16 converted to network byte order</code>
<code>    server_address.sin_addr.s_addr = htonl(INADDR_ANY);</code>
<code class="green">    // returns host_uint32 converted to network byte order</code>
<code></code>
<code class="green">    // bind the socket to our specified IP and port</code>
<code class="green">    // <span class="blue">int</span> bind(<span class="blue">int</span> sockfd, const <span class="blue">struct</span>  sockaddr *addr, socklen_t addrlen);</code>
<code class="green">    // sockfd argument is a file descriptor obtained from a previous call to socket()</code>
<code></code>
<code class="green">    // addr agrument is a pointer to a struckture specifying the address to which this socket is to be bound</code>
<code></code>
<code>    rc = bind(<span class="lightblue">server_socket</span>, (struct sockaddr*) &amp;server_address, <span class="blue">sizeof</span>(server_address));</code>
<code></code>
<code class="green">    // bind should <span class="violet">return</span> 0;</code>
<code>    <span class="violet">if</span> (rc &lt; 0)</code>
<code>    {</code>
<code>        perror("HH_ERROR: bind() call failed");</code>
<code>        exit(1);</code>
<code>    }</code>
<code></code>
<code class="green">    // second agrument is a backlog - how many connections can be waiting <span class="violet">for</span> this socket simultaneously</code>
<code>    rc = listen(<span class="lightblue">server_socket</span>, 5);</code>
<code></code>
<code>    <span class="violet">if</span> (rc &lt; 0)</code>
<code>        {</code>
<code>            perror("HH_ERROR: listen() call failed");</code>
<code>            exit(1);</code>
<code>        }</code>
<code></code>
<code>    <span class="yellow">printf</span>("listening ...\n");</code>
<code></code>
<code>    <span class="blue">int</span> keep_socket = 1;</code>
<code>    <span class="violet">while</span> (<span class="lightblue">keep_socket</span>) {</code>
<code></code>
<code>        <span class="blue">int</span> client_socket_fd;</code>
<code>        <span class="blue">int</span> client_address_len;</code>
<code></code>
<code class="green">        // <span class="blue">int</span> accept(<span class="blue">int</span> sockfd, <span class="blue">struct</span>  sockaddr *addr, socklen_t *addrlen);</code>
<code class="green">        // the application that called listen() then accepts the connection using accept()</code>
<code class="green">        // accept() creates a new socket and this new socket is connected to the peer socket that performed the connect()</code>
<code class="green">        // a file descriptor <span class="violet">for</span> the connected socket is returned as the function result of the accept() call</code>
<code class="green">        // client_socket = accept(<span class="lightblue">server_socket</span>, NULL, NULL);</code>
<code></code>
<code>        client_address_len = <span class="blue">sizeof</span>(client_address);</code>
<code>        client_socket_fd = accept(<span class="lightblue">server_socket</span>, (struct sockaddr *)&amp;client_address, &amp;client_address_len);</code>
<code></code>
<code>        <span class="yellow">printf</span>(<span class="orange">"Someone connected with address %d</span>\n<span class="orange">"</span>, client_address.sin_addr.s_addr);</code>
<code></code>
<code></code>
<code></code>
<code>        // т.е. мы взяли слушающий сокет, что-то из него достали и создали новый сокет куда положили то что надо</code>
<code>        // теперь client_socket это сокет (connection descriptor) который соединен с клиентом который запускал connect()</code>
<code></code>
<code>        <span class="violet">if</span> (client_socket_fd &lt; 0)</code>
<code>        {</code>
<code>            perror(<span class="orange">"HH_ERROR: accept() call failed"</span>);</code>
<code>            <span class="violet">continue</span>;</code>
<code>        }</code>
<code></code>
<code>        // send the message</code>
<code>        //send(client_socket_fd, <span class="lightblue">server_message</span>, <span class="blue">sizeof</span>(<span class="lightblue">server_message</span>), 0);</code>
<code></code>
<code>        processing_message_service(client_socket_fd, client_socket_fd);</code>
<code>        close(client_socket_fd);</code>
<code>    };</code>
<code></code>
<code class="green">    // close the socket</code>
<code></code>
<code></code>
<code>	<span class="violet">return</span> 0;</code>
<code>}  </code>
</p>
<div class="p8 align-center"><!-- Yandex.RTB R-A-1583743-5 --><div id="yandex_rtb_R-A-1583743-5"><yatag class="y6a79a5b6 kf1e01be4"><style type="text/css">.kf1e01be4{opacity: !important;white-space:normal !important;visibility:visible !important}.kf1e01be4,.kf1e01be4 yatag{display:block !important;font-family:inherit !important}.kf1e01be4,.kf1e01be4,.kf1e01be4 a,.kf1e01be4 b,.kf1e01be4 em,.kf1e01be4 iframe,.kf1e01be4 img,.kf1e01be4 table,.kf1e01be4 tbody,.kf1e01be4 td,.kf1e01be4 tr,.kf1e01be4 yatag{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;color:inherit !important;font-size:inherit !important;font-weight:inherit !important;-webkit-hyphens:manual !important;-ms-hyphens:manual !important;hyphens:manual !important;-webkit-transition:none !important;-o-transition:none !important;transition:none !important}.kf1e01be4,.kf1e01be4 a,.kf1e01be4 b,.kf1e01be4 em,.kf1e01be4 iframe,.kf1e01be4 img,.kf1e01be4 table,.kf1e01be4 tbody,.kf1e01be4 td,.kf1e01be4 tr{background:none !important;border:none !important;border-radius:0 !important;border-spacing:0 !important;border-collapse:collapse !important;clear:none !important;float:none !important;font-variant:normal !important;letter-spacing:normal !important;line-height:normal !important;margin:0 !important;max-height:none !important;max-width:none !important;min-height:0 !important;min-width:0 !important;outline:none !important;padding:0 !important;position:static !important;text-align:left !important;text-decoration:none !important;text-indent:0 !important;text-transform:none !important;vertical-align:baseline !important;visibility:inherit !important;word-spacing:normal !important}.kf1e01be4,.kf1e01be4 a,.kf1e01be4 b,.kf1e01be4 em,.kf1e01be4 img,.kf1e01be4 table,.kf1e01be4 tbody,.kf1e01be4 td,.kf1e01be4 tr{height:auto !important}.kf1e01be4 table{display:table !important;empty-cells:hide !important;table-layout:fixed !important}.kf1e01be4 table,.kf1e01be4 td{font-size:100% !important}.kf1e01be4 td{display:table-cell !important;vertical-align:middle !important}.kf1e01be4{width:auto !important;height:auto !important;overflow:visible !important}.kf1e01be4 .i65c8e7b{position:relative !important;margin:auto !important;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;overflow:hidden !important}.kf1e01be4 .fe227699b{padding:10px 16px 86px !important}.kf1e01be4 .d9c70654,.kf1e01be4 .oba38beb6{position:absolute !important;z-index:1 !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;width:100% !important;height:100% !important;display:none !important}.kf1e01be4 .a725b477c{position:relative !important;z-index:2 !important}.kf1e01be4 .ta6c2be8b{position:relative !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;-webkit-transform-origin:0 0 !important;transform-origin:0 0 !important}.kf1e01be4 .ta6c2be8b iframe{position:absolute !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important}.kf1e01be4 .w1c592594{position:absolute !important;width:100% !important;right:0 !important;top:0 !important;z-index:20 !important}.kf1e01be4 .qc922b58c{position:absolute !important;z-index:21 !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important}.kf1e01be4 .de870253e{position:absolute !important;top:0 !important;left:0 !important;z-index:10 !important;height:16px !important;padding:0 4px !important;font-size:11px !important;line-height:16px !important;color:#000 !important;text-decoration:none !important;background:#fff !important;border:1px solid #e5e5e5 !important;border-bottom-right-radius:3px !important;cursor:pointer !important}.kf1e01be4 .k6265ef7a{border:1px solid #303050 !important}.kf1e01be4 .a8f343de{max-width:100% !important;max-height:100% !important}.kf1e01be4 .a8f343de .d9c70654,.kf1e01be4 .a8f343de .oba38beb6{display:block !important}.kf1e01be4 .a8f343de .oba38beb6{-webkit-filter:blur(10px) saturate(0) contrast(400%) !important;filter:blur(10px) saturate(0) contrast(400%) !important}.kf1e01be4 .a8f343de .d9c70654{background-color:rgba(38,38,38,.9) !important}.kf1e01be4 .s146b38{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.kf1e01be4 .cfbaf04c,.kf1e01be4 .v3fd0c864{visibility:hidden !important;opacity:0 !important}.kf1e01be4 .v3fd0c864{max-width:1px !important;max-height:1px !important}.kf1e01be4 .kbaf8313e{position:absolute !important;bottom:20px !important;left:16px !important;right:16px !important;z-index:3 !important;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (orientation:landscape){.kf1e01be4 .kbaf8313e{margin:0 auto !important;width:260px !important}}.kf1e01be4 .ddf9b296d{height:48px !important;line-height:48px !important;font-size:16px !important;border-radius:8px !important;text-align:center !important;font-weight:700 !important;-ms-flex-item-align:stretch !important;align-self:stretch !important;padding:0 20px !important;white-space:nowrap !important;min-width:0 !important}.kf1e01be4 .u6811cdd6{background:-webkit-gradient(linear,left top,left bottom,from(#efefef),to(#e5e5e5)) !important;background:-o-linear-gradient(top,#efefef 0,#e5e5e5 100%) !important;background:linear-gradient(180deg,#efefef,#e5e5e5) !important;margin-right:8px !important;-webkit-box-flex:2 !important;-ms-flex:2 1 !important;flex:2 1 !important}.kf1e01be4 .gad203288{background:-webkit-gradient(linear,left top,right top,color-stop(-40%,#f60),color-stop(20%,rgba(255,102,0,0))),-webkit-gradient(linear,right top,left top,color-stop(-40%,#f60),color-stop(20%,rgba(255,102,0,0))),-webkit-gradient(linear,left bottom,left top,color-stop(-80%,#f60),color-stop(80%,#fd0)) !important;background:-o-linear-gradient(left,#f60 -40%,rgba(255,102,0,0) 20%),-o-linear-gradient(right,#f60 -40%,rgba(255,102,0,0) 20%),-o-linear-gradient(bottom,#f60 -80%,#fd0 80%) !important;background:linear-gradient(90deg,#f60 -40%,rgba(255,102,0,0) 20%),linear-gradient(270deg,#f60 -40%,rgba(255,102,0,0) 20%),linear-gradient(0deg,#f60 -80%,#fd0 80%) !important;-webkit-box-flex:3 !important;-ms-flex:3 1 !important;flex:3 1 !important}.kf1e01be4 .q3fac1622{display:inline-block !important;margin-left:8px !important}.kf1e01be4 .w8fe20e8b{position:absolute !important;left:-1000px !important;top:-1000px !important;width:1px !important;height:1px !important;display:block !important}.kf1e01be4 .gb16835ed{cursor:pointer !important;position:absolute !important;right:4px !important;top:4px !important;z-index:10 !important}.kf1e01be4 .ja650dbb8.gb16835ed{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;pointer-events:auto !important;border-radius:50% !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important;-webkit-tap-highlight-color:transparent !important}.kf1e01be4 .ja650dbb8.gb16835ed:before{content:"" !important;position:absolute !important;top:-4px !important;left:50% !important;-webkit-transform:translateX(-50%) !important;transform:translateX(-50%) !important}.kf1e01be4 .ja650dbb8.gb16835ed:hover .g5ff320dd{opacity:.8 !important}.kf1e01be4 .ja650dbb8.gb16835ed.q600d8c16 .g5ff320dd{background-color:#fff !important;opacity:.8 !important}.kf1e01be4 .ja650dbb8.gb16835ed.q600d8c16 .sa50cc013 svg{fill:#575c66 !important}.kf1e01be4 .ja650dbb8.gb16835ed.ma065e58e .g5ff320dd,.kf1e01be4 .ja650dbb8.gb16835ed.uc0ab276c .g5ff320dd{background:none !important}.kf1e01be4 .ja650dbb8.gb16835ed.ma065e58e:hover{background-color:#e9e9e9 !important}.kf1e01be4 .ja650dbb8.gb16835ed.ma065e58e .sa50cc013 svg{fill:#242526 !important}.kf1e01be4 .ja650dbb8.gb16835ed.ma065e58e .acca5812f{color:#242526 !important}.kf1e01be4 .ja650dbb8.gb16835ed.uc0ab276c:hover{background-color:rgba(248,250,255,.2) !important}.kf1e01be4 .ja650dbb8.gb16835ed.uc0ab276c .sa50cc013 svg{fill:#fff !important}.kf1e01be4 .ja650dbb8.gb16835ed.uc0ab276c .acca5812f{color:#fff !important}.kf1e01be4 .ja650dbb8.je5180083{width:12px !important;height:12px !important}.kf1e01be4 .ja650dbb8.je5180083:before{width:28px !important;height:28px !important}.kf1e01be4 .ja650dbb8.je5180083 .sa50cc013{-webkit-transform:scale(.6) !important;transform:scale(.6) !important}.kf1e01be4 .ja650dbb8.sa889a93b{width:16px !important;height:16px !important}.kf1e01be4 .ja650dbb8.sa889a93b:before{width:32px !important;height:32px !important}.kf1e01be4 .ja650dbb8.sa889a93b .sa50cc013{-webkit-transform:scale(.8) !important;transform:scale(.8) !important}.kf1e01be4 .ja650dbb8.ye9da95e5{width:24px !important;height:24px !important}.kf1e01be4 .ja650dbb8.ye9da95e5:before{width:42px !important;height:42px !important}.kf1e01be4 .ja650dbb8.w8ba37f44{width:28px !important;height:28px !important}.kf1e01be4 .ja650dbb8.w8ba37f44:before{width:42px !important;height:42px !important}.kf1e01be4 .g5ff320dd{height:100% !important;width:100% !important;position:absolute !important;top:0 !important;left:0 !important;z-index:-1 !important;border-radius:inherit !important;-webkit-transition:opacity .15s !important;-o-transition:opacity .15s !important;transition:opacity .15s !important;-webkit-transition:background-color .5s ease-in-out !important;-o-transition:background-color .5s ease-in-out !important;transition:background-color .5s ease-in-out !important}.kf1e01be4 .g5ff320dd.l3f836312{background:rgba(26,43,77,.4) !important;color:#fff !important}.kf1e01be4 .g5ff320dd.l3f836312:hover{opacity:.5 !important}.kf1e01be4 .g5ff320dd.w4eda1370{background:hsla(0,0%,100%,.8) !important;color:#3a3c40 !important}.kf1e01be4 .g5ff320dd.w4eda1370:hover{opacity:.9 !important}.kf1e01be4 .g5ff320dd.ya577217{background:none !important}.kf1e01be4 .ja650dbb8 .sa50cc013{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;pointer-events:none !important}.kf1e01be4 .ja650dbb8 .sa50cc013.l3f836312 svg{fill:#fff !important}.kf1e01be4 .ja650dbb8 .sa50cc013.l3f836312 svg,.kf1e01be4 .ja650dbb8 .sa50cc013.w4eda1370 svg{-webkit-transition:fill .5s ease-in-out !important;-o-transition:fill .5s ease-in-out !important;transition:fill .5s ease-in-out !important}.kf1e01be4 .ja650dbb8 .sa50cc013.w4eda1370 svg{fill:#242526 !important}.kf1e01be4 .acca5812f{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;pointer-events:none !important}.kf1e01be4 .acca5812f.l3f836312{color:#fff !important}.kf1e01be4 .acca5812f.w4eda1370{color:#242526 !important}@-webkit-keyframes o90d3e7fd{0%,to{opacity:0 !important;visibility:hidden !important}4%,96%{visibility:visible !important;opacity:1 !important}}@keyframes o90d3e7fd{0%,to{opacity:0 !important;visibility:hidden !important}4%,96%{visibility:visible !important;opacity:1 !important}}@media (hover:hover) and (pointer:fine){.kf1e01be4 .p1ef071c:hover .kbf51a9c7{opacity:0 !important;visibility:hidden !important}.kf1e01be4 .p1ef071c:hover .w6d3cd172{visibility:visible !important;opacity:1 !important}.kf1e01be4 .p1ef071c[data-active]:hover .w6d3cd172{opacity:0 !important;visibility:hidden !important}.kf1e01be4 .p1ef071c[data-active]:hover .kbf51a9c7{visibility:visible !important;opacity:1 !important}}.kf1e01be4 .p1ef071c.habf56dac{right:45px !important}.kf1e01be4 .p1ef071c.habf56dac .f32273d87.kbf51a9c7{-webkit-transform:translateX(41px) !important;transform:translateX(41px) !important}.kf1e01be4 .p1ef071c.habf56dac .f32273d87.kbf51a9c7 .s3e1104be{-webkit-transform:translateX(-43px) !important;transform:translateX(-43px) !important}.kf1e01be4 .p1ef071c{right:36px !important;width:32px !important}.kf1e01be4 .p1ef071c[data-active] svg{color:#ee4f4f !important;fill:#ee4f4f !important}.kf1e01be4 .p1ef071c[data-active] .kbf51a9c7{-webkit-animation:o90d3e7fd 8s linear !important;animation:o90d3e7fd 8s linear !important}.kf1e01be4 .p1ef071c .f32273d87{position:absolute !important;color:#fff !important;opacity:0 !important;visibility:hidden !important;white-space:nowrap !important;top:29px !important;right:50% !important;-webkit-transform:translateX(50%) !important;transform:translateX(50%) !important;background:#343334 !important;border-radius:6px !important;padding:0 8px !important;height:24px !important;line-height:24px !important;font-size:11px !important;-webkit-transition:all .2s !important;-o-transition:all .2s !important;transition:all .2s !important}.kf1e01be4 .p1ef071c .f32273d87.kbf51a9c7{-webkit-transform:translateX(32px) !important;transform:translateX(32px) !important;right:0 !important}.kf1e01be4 .p1ef071c .f32273d87.kbf51a9c7 .s3e1104be{right:0 !important;-webkit-transform:translateX(-34px) !important;transform:translateX(-34px) !important}.kf1e01be4 .p1ef071c .f32273d87 .wa7db37ba{font-size:11px !important}.kf1e01be4 .p1ef071c .f32273d87 .s3e1104be{width:28px !important;height:8px !important;position:absolute !important;top:-6px !important;right:50% !important;-webkit-transform:translateX(50%) !important;transform:translateX(50%) !important;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.kf1e01be4 .p1ef071c .f32273d87 .vf7d08427{color:#ffd400 !important;text-decoration:none !important;text-transform:lowercase !important}.kf1e01be4 .bf493a654{height:100% !important;width:100% !important;position:absolute !important;top:0 !important;left:0 !important;z-index:-1 !important;border-radius:inherit !important;-webkit-transition:background-color .5s ease-in-out !important;-o-transition:background-color .5s ease-in-out !important;transition:background-color .5s ease-in-out !important}.kf1e01be4 .i146fb231{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;cursor:pointer !important;position:absolute !important;left:4px !important;top:4px !important;z-index:10 !important;font-family:Helvetica,Arial,sans-serif !important;white-space:nowrap !important;height:12px !important;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;line-height:9px !important;padding:2px 4px !important;color:hsla(0,0%,100%,.8) !important;border-radius:16px !important;font-size:8px !important;text-transform:uppercase !important;letter-spacing:.125em !important;pointer-events:none !important;-webkit-transition:color .5s ease-in-out !important;-o-transition:color .5s ease-in-out !important;transition:color .5s ease-in-out !important}.kf1e01be4 .i146fb231,.kf1e01be4 .i146fb231>a{text-decoration:none !important}.kf1e01be4 .i146fb231>a{color:inherit !important}.kf1e01be4 .i146fb231.q600d8c16{color:#575c66 !important}.kf1e01be4 .i146fb231.q600d8c16 .bf493a654{background-color:#fff !important;opacity:.8 !important}.kf1e01be4 .i146fb231.ma065e58e,.kf1e01be4 .i146fb231.w4eda1370{color:#3a3c40 !important}.kf1e01be4 .i146fb231.w4eda1370{background:hsla(0,0%,100%,.8) !important}.kf1e01be4 .i146fb231.l3f836312,.kf1e01be4 .i146fb231.uc0ab276c{color:#fff !important}.kf1e01be4 .i146fb231.l3f836312{background:rgba(26,43,77,.4) !important}.kf1e01be4 .i146fb231.ucf224bd1,.kf1e01be4 .i146fb231.jdf9654ed{top:auto !important;left:auto !important;right:0 !important;bottom:0 !important;background:none !important;text-shadow:none !important;font-size:7px !important;padding:0 !important;line-height:normal !important;height:auto !important;opacity:.8 !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}.kf1e01be4 .i146fb231.ya577217{background:none !important}.kf1e01be4 .i146fb231.uc0e858c1{max-width:calc(100% - 42px) !important}.kf1e01be4 .j2093835e{margin:0 2px !important}.kf1e01be4 .m4e076f92{text-decoration:none !important;pointer-events:auto !important;color:inherit !important}@-moz-document url-prefix(){.kf1e01be4 .i146fb231{padding-top:1px!important}}.kf1e01be4 .ye020a8e6{position:absolute !important;right:-2px !important;top:0 !important;z-index:9 !important;pointer-events:auto !important}.kf1e01be4 .y9504870b{background:red !important}</style><yatag class="w8fe20e8b"></yatag><yatag class="i65c8e7b s332f7b93 x25f7810f"><yatag class="a725b477c" style="width: 300px !important; height: 300px !important;"><yatag id="ya_partner_R-A-1583743-5" class="ta6c2be8b" style="width: 300px !important; height: 300px !important;"><iframe frameborder="no" scrolling="no" allowtransparency="true" hidefocus="true" tabindex="-1" marginwidth="0" marginheight="0" src="./Сокеты в C_files/render.html" sandbox="allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-scripts allow-forms" id="id9681" style="opacity: 1;"></iframe></yatag><yatag class="i146fb231 q600d8c16 ya577217" data-label="true"><yatag data-test="AdKebabAndLabel--adLabelBg" class="bf493a654"></yatag>Реклама</yatag><yatag class="w1c592594 u94c28992 pc9273692"><yatag data-close="true" data-new-adtune="true" class="ja650dbb8 gb16835ed q600d8c16 ye9da95e5"><yatag class="g5ff320dd ya577217"></yatag><yatag class="sa50cc013"><svg width="8" height="20" fill="#fff" xmlns="http://www.w3.org/2000/svg"><circle cx="4" cy="4" r="1.5"></circle><circle cx="4" cy="10" r="1.5"></circle><circle cx="4" cy="16" r="1.5"></circle></svg></yatag></yatag></yatag></yatag></yatag></yatag></div><script>window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo: 'yandex_rtb_R-A-1583743-5', blockId: 'R-A-1583743-5'})})</script></div>
<div id="tcp_client" class="anchor"></div>
<h2 class="h2mTop">
   TCP Клиент
</h2>
<p class="somecode w100 mt5">
<code><span class="violet">#include</span> &lt;stdio.h&gt;</code>
<code><span class="violet">#include</span> &lt;stdlib.h&gt;</code>
<code><span class="violet">#include</span> &lt;string.h&gt;</code>
<code></code>
<code><span class="violet">#include</span> &lt;sys/types.h&gt;</code>
<code><span class="violet">#include</span> &lt;sys/socket.h&gt;</code>
<code><span class="violet">#include</span> &lt;netinet/in.h&gt;</code>
<code></code>
<code><span class="blue">int</span> main() {</code>
<code>	// create a socket</code>
<code>	<span class="blue">int</span> network_socket;</code>
<code>	network_socket = socket(AF_INET, SOCK_STREAM, 0);</code>
<code>	</code>
<code>	// specify an address for the socket</code>
<code>	struct sockaddr_in server_address;</code>
<code>	server_address.sin_family = AF_INET;</code>
<code>	server_address.sin_port = htons(9002);</code>
<code>	server_address.sin_addr.s_addr = INADDR_ANY;</code>
<code></code>
<code>	<span class="blue">int</span> connection_status = connect(network_socket, (struct sockaddr *) &amp;server_address, sizeof(server_address));</code>
<code>	// check for error with the connection</code>
<code>	if (connection_status == -1){</code>
<code>		<span class="yellow">printf</span>("There was an error making a connection to the remote socket \n\n");</code>
<code>	}</code>
<code>	</code>
<code>	// receive data from the server</code>
<code>	<span class="blue">char</span> server_response[256];</code>
<code>	recv(network_socket, &amp;server_response, sizeof(server_response), 0);</code>
<code></code>
<code>	// print out the server's response</code>
<code>	<span class="yellow">printf</span>("The server sent the data: %s\n", server_response);</code>
<code></code>
<code>	// and then close the socket</code>
<code>	close(network_socket);</code>
<code></code>
<code>	return 0;</code>
<code>}</code>
    </p>
    <div id="socket_man" class="anchor"></div>
    <h2 class="h2mTop">
        Socket Man
    </h2>
    <p class="p1">
        Чтобы прочитать справочную информацию о socket введите
    </p>
    <p class="cmd1">
        man socket
    </p>
    <p class="w100 mt2">
        Если man не установлен прочитайте инструкцию по установке 
        <a href="https://www.andreyolegovich.ru/linux/debian/faq/#20">
            здесь
        </a>
    </p>
    <p class="cmdout w100 mt5 white-space-pre">
SOCKET(2)                                           Linux Programmer's Manual                                                                                        SOCKET(2)

NAME
       socket - create an endpoint for communication

SYNOPSIS
       <span class="violet">#include</span> &lt;sys/types.h&gt;          /* See NOTES */
       <span class="violet">#include</span> &lt;sys/socket.h&gt;

       <span class="blue">int</span> socket(<span class="blue">int</span> domain, <span class="blue">int</span> type, <span class="blue">int</span> protocol);
    </p>
    <div id="man_description"></div>
    <p class="cmdout w100 mt5 white-space-pre">
DESCRIPTION
       socket()  creates  an endpoint for communication and returns a file descriptor
       that refers to that endpoint.  
       
       The file descriptor returned by a successful call will be the lowest-numbered 
       file descriptor not currently open for the process.

       The domain argument specifies a communication domain; this selects the protocol
       family which will be used for communication. 
       
       These families are defined in &lt;sys/socket.h&gt;.  
       The currently  understood  formats  include:

       Name                Purpose                          Man page
       AF_UNIX, AF_LOCAL   Local communication              unix(7)
       AF_INET             IPv4 Internet protocols          ip(7)
       AF_INET6            IPv6 Internet protocols          ipv6(7)
       AF_IPX              IPX - Novell protocols
       AF_NETLINK          Kernel user interface device     netlink(7)
       AF_X25              ITU-T X.25 / ISO-8208 protocol   x25(7)
       AF_AX25             Amateur radio AX.25 protocol
       AF_ATMPVC           Access to raw ATM PVCs
       AF_APPLETALK        AppleTalk                        ddp(7)
       AF_PACKET           Low level packet interface       packet(7)
       AF_ALG              Interface to kernel crypto API

       The socket has the indicated type, which specifies the communication semantics.  
    </p>
    <div id="man_types"></div>
    <p class="cmdout white-space-pre w100 mt5">
       Currently defined types are:

       SOCK_STREAM     Provides sequenced, reliable, two-way, connection-based byte
                       streams. 
                       An out-of-band data transmission mechanism may be supported.

       SOCK_DGRAM      Supports datagrams (connectionless, unreliable messages of a 
                       fixed maximum length).

       SOCK_SEQPACKET  Provides a sequenced, reliable, two-way connection-based data
                       transmission path for datagrams of fixed maximum length;
                       a consumer is required to read an entire packet with each 
                       input system call.

       SOCK_RAW        Provides raw network protocol access.

       SOCK_RDM        Provides a reliable datagram layer that does not guarantee ordering.

       SOCK_PACKET     Obsolete and should not be used in new programs; see packet(7).

       Some socket types may not be implemented by all protocol families.

       Since Linux 2.6.27, the type argument serves a second purpose: in addition
       to specifying a socket type, it may include the bitwise OR of any of the 
       following values, to modify the behavior of socket():

       SOCK_NONBLOCK   Set the O_NONBLOCK file status flag on the new open
                       file description.  
                       Using this flag saves extra calls to fcntl(2) to achieve the same result.

       SOCK_CLOEXEC    Set the close-on-exec (FD_CLOEXEC) flag on the new file descriptor.  
                       See the description of the O_CLOEXEC flag in open(2) for reasons
                       why this may be useful.

       The  protocol  specifies a particular protocol to be used with the socket.  
       
       Normally only a single protocol exists to support a particular socket type within
       a given protocol family, in which case protocol can be specified as 0.  
       
       However, it is possible that many protocols may exist, in which case a particular
       protocol must be specified in this manner.  
       
       The protocol number to use is specific to the “communication  domain” in which
       communication is to take place; see protocols(5).  See getprotoent(3) on how
       to map protocol name strings to protocol numbers.

       Sockets of type SOCK_STREAM are full-duplex byte streams.  
       
       They do not preserve record boundaries. 
       
       A stream socket must be in a connected state before any data may be
       sent or received on it. 
       
       A connection to another socket is created with a connect(2) call. 
       
       Once connected, data may be transferred using read(2) and write(2) calls
       or some variant of the send(2) and recv(2) calls.
       
       When a session  has  been  completed  a close(2) may be performed. 
       Out-of-band data may also be transmitted as described in send(2) 
       and received as described in recv(2).

       The  communications protocols which implement a SOCK_STREAM
       ensure that data is not lost or duplicated.  
       
       If a piece of data for which the peer protocol has buffer space cannot
       be successfully transmitted within a reasonable length of time, then the 
       connection is considered to be dead.  
       
       When SO_KEEPALIVE is enabled on the socket the protocol checks in a 
       protocol-specific manner if the other end is still alive.  
       
       A  SIGPIPE signal  is raised if a process sends or receives on a broken 
       stream; this causes naive processes, which do not handle the signal, to exit.  
       
       SOCK_SEQPACKET sockets employ the same system calls as SOCK_STREAM sockets.  
       
       The only difference is that read(2) calls will return only the amount of
       data requested, and any data remaining in the arriving packet will be discarded.  
       
       Also all message boundaries in  incoming  datagrams are preserved.

       SOCK_DGRAM and SOCK_RAW sockets allow sending of datagrams to correspondents
       named in sendto(2) calls.  
       
       Datagrams are generally received with recvfrom(2), which returns the next 
       datagram along with the address of its sender.

       SOCK_PACKET is an obsolete socket type to receive raw packets directly from
       the device driver.  Use packet(7) instead.

       An fcntl(2) F_SETOWN operation can be used to specify a process or process group
       to receive a SIGURG signal when the out-of-band data arrives or SIGPIPE signal
       when a SOCK_STREAM connection  breaks  unexpectedly.
       
       This  operation  may also be used to set the process or process group that receives
       the I/O and asynchronous notification of I/O events via SIGIO. 
       
       Using F_SETOWN is equivalent to an ioctl(2) call with the FIOSETOWN or
       SIOCSPGRP argument.

       When the network signals an error condition to the protocol module 
       (e.g., using an ICMP message for IP) 
       the pending error flag is set for the socket.  
       
       The next operation on this socket will return the error  code of the pending error.  
       
       For some protocols it is possible to enable a per-socket error queue to retrieve
       detailed information about the error; see IP_RECVERR in ip(7).

       The operation of sockets is controlled by socket level options.  
       
       These options are defined in &lt;sys/socket.h&gt;. 
       
       The functions setsockopt(2) and getsockopt(2) are used to set and get options,
       respectively.

RETURN VALUE
       On success, a file descriptor for the new socket is returned.  
       On error, -1 is returned, and errno is set appropriately.

ERRORS
       EACCES Permission to create a socket of the specified type 
       and/or protocol is denied.

       EAFNOSUPPORT
              The implementation does not support the specified address family.

       EINVAL Unknown protocol, or protocol family not available.

       EINVAL Invalid flags in type.

       EMFILE The per-process limit on the number of open file descriptors has been reached.

       ENFILE The system-wide limit on the total number of open files has been reached.

       ENOBUFS or ENOMEM
              Insufficient memory is available.  
              The socket cannot be created until sufficient resources are freed.

       EPROTONOSUPPORT
              The protocol type or the specified protocol is not supported within this domain.

       Other errors may be generated by the underlying protocol modules.

CONFORMING TO
       POSIX.1-2001, POSIX.1-2008, 4.4BSD.

       The SOCK_NONBLOCK and SOCK_CLOEXEC flags are Linux-specific.

       socket() appeared in 4.2BSD.  
       It is generally portable to/from non-BSD systems supporting clones of the BSD socket layer
       (including System V variants).

NOTES
       POSIX.1  does  not  require  the inclusion of &lt;sys/types.h&gt;, 
       and this header file is not required on Linux.  
       However, some historical (BSD) implementations required this header file,
       and portable applications are probably wise to include it.

       The manifest constants used under 4.x BSD for protocol families are
       PF_UNIX, PF_INET, and so on, while AF_UNIX, 
       AF_INET, and so on are used for address families. 
       
       However, already the BSD man page promises:  
       "The protocol family generally is the same as the address family", 
       and subsequent standards use AF_* everywhere.

       The AF_ALG protocol type was added in Linux 2.6.38.  
       More information on this interface is provided with the kernel HTML
       documentation at https://www.kernel.org/doc/htmldocs/crypto-API/User.html.

EXAMPLE
       An example of the use of socket() is shown in getaddrinfo(3).

SEE ALSO
       accept(2),  bind(2), close(2), connect(2), fcntl(2), getpeername(2), 
       getsockname(2), getsockopt(2), ioctl(2), listen(2),
       read(2), recv(2), select(2), send(2), shutdown(2), socketpair(2),
       write(2), getprotoent(3),
       ip(7), socket(7), tcp(7), udp(7), unix(7)

       “An Introductory 4.3BSD Interprocess Communication Tutorial” and 
       “BSD Interprocess Communication Tutorial”, reprinted in
       UNIX Programmer's Supplementary Documents Volume 1.

COLOPHON
       This page is  part  of  release  4.16  of  the  Linux  man-pages  project.  
       A  description  of  the  project, information  about  reporting  bugs,  and
       the  latest  version  of  this  page,  can  be  found  at
       https://www.kernel.org/doc/man-pages/.

Linux                                                   2017-09-15                                                                                               SOCKET(2)
</p>
    <div id="sys-socket" class="anchor"></div>
    <h2 class="h2mTop">
        sys/socket.h
    </h2>
    <p class="cmdout w100 mt5 white-space-pre">
The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group
NAME
sys/socket.h - Internet Protocol family
SYNOPSIS


<span class="violet">#include</span> &lt;sys/socket.h&gt;

DESCRIPTION
&lt;sys/socket.h&gt; makes available a type, socklen_t, which is an unsigned opaque integral type of length of at least 32 bits. To forestall portability problems, it is recommended that applications should not use values larger than 232 - 1.
The &lt;sys/socket.h&gt; header defines the unsigned integral type sa_family_t.

The &lt;sys/socket.h&gt; header defines the sockaddr structure that includes at least the following members:


sa_family_t   sa_family       address family
char          sa_data[]       socket address (variable-length data)

The &lt;sys/socket.h&gt; header defines the msghdr structure that includes at least the following members:

void         *msg_name        optional address
socklen_t     msg_namelen     size of address
struct iovec *msg_iov         scatter/gather array
int           msg_iovlen      members in msg_iov
void         *msg_control     ancillary data, see below
socklen_t     msg_controllen  ancillary data buffer len
int           msg_flags       flags on received message

The &lt;sys/socket.h&gt; header defines the cmsghdr structure that includes at least the following members:

socklen_t     cmsg_len        data byte count, including the cmsghdr
int           cmsg_level      originating protocol
int           cmsg_type       protocol-specific type

Ancillary data consists of a sequence of pairs, each consisting of a cmsghdr structure followed by a data array. The data array contains the ancillary data message, and the cmsghdr structure contains descriptive information that allows an application to correctly parse the data.
The values for cmsg_level will be legal values for the level argument to the getsockopt() and setsockopt() functions. The system documentation should specify the cmsg_type definitions for the supported protocols.

Ancillary data is also possible at the socket level. The &lt;sys/socket.h&gt; header defines the following macro for use as the cmsg_type value when cmsg_level is SOL_SOCKET:

SCM_RIGHTS
Indicates that the data array contains the access rights to be sent or received.
The &lt;sys/socket.h&gt; header defines the following macros to gain access to the data arrays in the ancillary data associated with a message header:

CMSG_DATA(cmsg)
If the argument is a pointer to a cmsghdr structure, this macro returns an unsigned character pointer to the data array associated with the cmsghdr structure.
CMSG_NXTHDR(mhdr,cmsg)

If the first argument is a pointer to a msghdr structure and the second argument is a pointer to a cmsghdr structure in the ancillary data, pointed to by the msg_control field of that msghdr structure, this macro returns a pointer to the next cmsghdr structure, or a null pointer if this structure is the last cmsghdr in the ancillary data.
CMSG_FIRSTHDR(mhdr)

If the argument is a pointer to a msghdr structure, this macro returns a pointer to the first cmsghdr structure in the ancillary data associated with this msghdr structure, or a null pointer if there is no ancillary data associated with the msghdr structure.
The &lt;sys/socket.h&gt; header defines the linger structure that includes at least the following members:


int         l_onoff          indicates whether linger option is enabled
int         l_linger         linger time, in seconds

The &lt;sys/socket.h&gt; header defines the following macros, with distinct integral values:
SOCK_DGRAM
Datagram socket
SOCK_STREAM
Byte-stream socket
SOCK_SEQPACKET
Sequenced-packet socket
The &lt;sys/socket.h&gt; header defines the following macro for use as the level argument of setsockopt() and getsockopt().

SOL_SOCKET
Options to be accessed at socket level, not protocol level.
The &lt;sys/socket.h&gt; header defines the following macros, with distinct integral values, for use as the option_name argument in getsockopt() or setsockopt() calls:

SO_ACCEPTCONN
Socket is accepting connections.
SO_BROADCAST
Transmission of broadcast messages is supported.
SO_DEBUG
Debugging information is being recorded.
SO_DONTROUTE
bypass normal routing
SO_ERROR
Socket error status.
SO_KEEPALIVE
Connections are kept alive with periodic messages.
SO_LINGER
Socket lingers on close.
SO_OOBINLINE
Out-of-band data is transmitted in line.
SO_RCVBUF
Receive buffer size.
SO_RCVLOWAT
receive "low water mark"
SO_RCVTIMEO
receive timeout
SO_REUSEADDR
Reuse of local addresses is supported.
SO_SNDBUF
Send buffer size.
SO_SNDLOWAT
send "low water mark"
SO_SNDTIMEO
send timeout
SO_TYPE
Socket type.
The &lt;sys/socket.h&gt; header defines the following macros, with distinct integral values, for use as the valid values for the msg_flags field in the msghdr structure, or the flags parameter in recvfrom(), recvmsg(), sendto() or sendmsg() calls:

MSG_CTRUNC
Control data truncated.
MSG_DONTROUTE
Send without using routing tables.
MSG_EOR
Terminates a record (if supported by the protocol).
MSG_OOB
Out-of-band data.
MSG_PEEK
Leave received data in queue.
MSG_TRUNC
Normal data truncated.
MSG_WAITALL
Wait for complete message.
The &lt;sys/socket.h&gt; header defines the following macros, with distinct integral values:

AF_UNIX
UNIX domain sockets
AF_UNSPEC
Unspecified
AF_INET
Internet domain sockets
The &lt;sys/socket.h&gt; header defines the following macros, with distinct integral values:

SHUT_RD
Disables further receive operations.
SHUT_WR
Disables further send operations.
SHUT_RDWR
Disables further send and receive operations.
The following are declared as functions, and may also be defined as macros:


int     accept(int socket, struct sockaddr *address,
             socklen_t *address_len);
int     bind(int socket, const struct sockaddr *address,
             socklen_t address_len);
int     connect(int socket, const struct sockaddr *address,
             socklen_t address_len);
int     getpeername(int socket, struct sockaddr *address,
             socklen_t *address_len);
int     getsockname(int socket, struct sockaddr *address,
             socklen_t *address_len);
int     getsockopt(int socket, int level, int option_name,
             void *option_value, socklen_t *option_len);
int     listen(int socket, int backlog);
ssize_t recv(int socket, void *buffer, size_t length, int flags);
ssize_t recvfrom(int socket, void *buffer, size_t length,
             int flags, struct sockaddr *address, socklen_t *address_len);
ssize_t recvmsg(int socket, struct msghdr *message, int flags);
ssize_t send(int socket, const void *message, size_t length, int flags);
ssize_t sendmsg(int socket, const struct msghdr *message, int flags);
ssize_t sendto(int socket, const void *message, size_t length, int flags,
             const struct sockaddr *dest_addr, socklen_t dest_len);
int     setsockopt(int socket, int level, int option_name,
             const void *option_value, socklen_t option_len);
int     shutdown(int socket, int how);
int     socket(int domain, int type, int protocol);
int     socketpair(int domain, int type, int protocol,
             int socket_vector[2]);


SEE ALSO
accept(), bind(), connect(), getpeername(), getsockname(), getsockopt(), listen(), recv(), recvfrom(), recvmsg(), send(), sendmsg(), sendto(), setsockopt(), shutdown(), socket(), socketpair().
UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]
</p>
<div class="p8 align-center"><!-- Yandex.RTB R-A-1583743-6 --><div id="yandex_rtb_R-A-1583743-6"><yatag class="y6a79a5b6 p5959b407"><style type="text/css">.p5959b407{opacity: !important;white-space:normal !important;visibility:visible !important}.p5959b407,.p5959b407 yatag{display:block !important;font-family:inherit !important}.p5959b407,.p5959b407,.p5959b407 a,.p5959b407 b,.p5959b407 em,.p5959b407 iframe,.p5959b407 img,.p5959b407 table,.p5959b407 tbody,.p5959b407 td,.p5959b407 tr,.p5959b407 yatag{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;color:inherit !important;font-size:inherit !important;font-weight:inherit !important;-webkit-hyphens:manual !important;-ms-hyphens:manual !important;hyphens:manual !important;-webkit-transition:none !important;-o-transition:none !important;transition:none !important}.p5959b407,.p5959b407 a,.p5959b407 b,.p5959b407 em,.p5959b407 iframe,.p5959b407 img,.p5959b407 table,.p5959b407 tbody,.p5959b407 td,.p5959b407 tr{background:none !important;border:none !important;border-radius:0 !important;border-spacing:0 !important;border-collapse:collapse !important;clear:none !important;float:none !important;font-variant:normal !important;letter-spacing:normal !important;line-height:normal !important;margin:0 !important;max-height:none !important;max-width:none !important;min-height:0 !important;min-width:0 !important;outline:none !important;padding:0 !important;position:static !important;text-align:left !important;text-decoration:none !important;text-indent:0 !important;text-transform:none !important;vertical-align:baseline !important;visibility:inherit !important;word-spacing:normal !important}.p5959b407,.p5959b407 a,.p5959b407 b,.p5959b407 em,.p5959b407 img,.p5959b407 table,.p5959b407 tbody,.p5959b407 td,.p5959b407 tr{height:auto !important}.p5959b407 table{display:table !important;empty-cells:hide !important;table-layout:fixed !important}.p5959b407 table,.p5959b407 td{font-size:100% !important}.p5959b407 td{display:table-cell !important;vertical-align:middle !important}.p5959b407{width:auto !important;height:auto !important;overflow:visible !important}.p5959b407 .i65c8e7b{position:relative !important;margin:auto !important;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;overflow:hidden !important}.p5959b407 .fe227699b{padding:10px 16px 86px !important}.p5959b407 .d9c70654,.p5959b407 .oba38beb6{position:absolute !important;z-index:1 !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;width:100% !important;height:100% !important;display:none !important}.p5959b407 .a725b477c{position:relative !important;z-index:2 !important}.p5959b407 .ta6c2be8b{position:relative !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;-webkit-transform-origin:0 0 !important;transform-origin:0 0 !important}.p5959b407 .ta6c2be8b iframe{position:absolute !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important}.p5959b407 .w1c592594{position:absolute !important;width:100% !important;right:0 !important;top:0 !important;z-index:20 !important}.p5959b407 .qc922b58c{position:absolute !important;z-index:21 !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important}.p5959b407 .de870253e{position:absolute !important;top:0 !important;left:0 !important;z-index:10 !important;height:16px !important;padding:0 4px !important;font-size:11px !important;line-height:16px !important;color:#000 !important;text-decoration:none !important;background:#fff !important;border:1px solid #e5e5e5 !important;border-bottom-right-radius:3px !important;cursor:pointer !important}.p5959b407 .k6265ef7a{border:1px solid #303050 !important}.p5959b407 .a8f343de{max-width:100% !important;max-height:100% !important}.p5959b407 .a8f343de .d9c70654,.p5959b407 .a8f343de .oba38beb6{display:block !important}.p5959b407 .a8f343de .oba38beb6{-webkit-filter:blur(10px) saturate(0) contrast(400%) !important;filter:blur(10px) saturate(0) contrast(400%) !important}.p5959b407 .a8f343de .d9c70654{background-color:rgba(38,38,38,.9) !important}.p5959b407 .s146b38{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.p5959b407 .cfbaf04c,.p5959b407 .v3fd0c864{visibility:hidden !important;opacity:0 !important}.p5959b407 .v3fd0c864{max-width:1px !important;max-height:1px !important}.p5959b407 .kbaf8313e{position:absolute !important;bottom:20px !important;left:16px !important;right:16px !important;z-index:3 !important;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (orientation:landscape){.p5959b407 .kbaf8313e{margin:0 auto !important;width:260px !important}}.p5959b407 .ddf9b296d{height:48px !important;line-height:48px !important;font-size:16px !important;border-radius:8px !important;text-align:center !important;font-weight:700 !important;-ms-flex-item-align:stretch !important;align-self:stretch !important;padding:0 20px !important;white-space:nowrap !important;min-width:0 !important}.p5959b407 .u6811cdd6{background:-webkit-gradient(linear,left top,left bottom,from(#efefef),to(#e5e5e5)) !important;background:-o-linear-gradient(top,#efefef 0,#e5e5e5 100%) !important;background:linear-gradient(180deg,#efefef,#e5e5e5) !important;margin-right:8px !important;-webkit-box-flex:2 !important;-ms-flex:2 1 !important;flex:2 1 !important}.p5959b407 .gad203288{background:-webkit-gradient(linear,left top,right top,color-stop(-40%,#f60),color-stop(20%,rgba(255,102,0,0))),-webkit-gradient(linear,right top,left top,color-stop(-40%,#f60),color-stop(20%,rgba(255,102,0,0))),-webkit-gradient(linear,left bottom,left top,color-stop(-80%,#f60),color-stop(80%,#fd0)) !important;background:-o-linear-gradient(left,#f60 -40%,rgba(255,102,0,0) 20%),-o-linear-gradient(right,#f60 -40%,rgba(255,102,0,0) 20%),-o-linear-gradient(bottom,#f60 -80%,#fd0 80%) !important;background:linear-gradient(90deg,#f60 -40%,rgba(255,102,0,0) 20%),linear-gradient(270deg,#f60 -40%,rgba(255,102,0,0) 20%),linear-gradient(0deg,#f60 -80%,#fd0 80%) !important;-webkit-box-flex:3 !important;-ms-flex:3 1 !important;flex:3 1 !important}.p5959b407 .q3fac1622{display:inline-block !important;margin-left:8px !important}.p5959b407 .w8fe20e8b{position:absolute !important;left:-1000px !important;top:-1000px !important;width:1px !important;height:1px !important;display:block !important}.p5959b407 .gb16835ed{cursor:pointer !important;position:absolute !important;right:4px !important;top:4px !important;z-index:10 !important}.p5959b407 .ja650dbb8.gb16835ed{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;pointer-events:auto !important;border-radius:50% !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important;-webkit-tap-highlight-color:transparent !important}.p5959b407 .ja650dbb8.gb16835ed:before{content:"" !important;position:absolute !important;top:-4px !important;left:50% !important;-webkit-transform:translateX(-50%) !important;transform:translateX(-50%) !important}.p5959b407 .ja650dbb8.gb16835ed:hover .g5ff320dd{opacity:.8 !important}.p5959b407 .ja650dbb8.gb16835ed.q600d8c16 .g5ff320dd{background-color:#fff !important;opacity:.8 !important}.p5959b407 .ja650dbb8.gb16835ed.q600d8c16 .sa50cc013 svg{fill:#575c66 !important}.p5959b407 .ja650dbb8.gb16835ed.ma065e58e .g5ff320dd,.p5959b407 .ja650dbb8.gb16835ed.uc0ab276c .g5ff320dd{background:none !important}.p5959b407 .ja650dbb8.gb16835ed.ma065e58e:hover{background-color:#e9e9e9 !important}.p5959b407 .ja650dbb8.gb16835ed.ma065e58e .sa50cc013 svg{fill:#242526 !important}.p5959b407 .ja650dbb8.gb16835ed.ma065e58e .acca5812f{color:#242526 !important}.p5959b407 .ja650dbb8.gb16835ed.uc0ab276c:hover{background-color:rgba(248,250,255,.2) !important}.p5959b407 .ja650dbb8.gb16835ed.uc0ab276c .sa50cc013 svg{fill:#fff !important}.p5959b407 .ja650dbb8.gb16835ed.uc0ab276c .acca5812f{color:#fff !important}.p5959b407 .ja650dbb8.je5180083{width:12px !important;height:12px !important}.p5959b407 .ja650dbb8.je5180083:before{width:28px !important;height:28px !important}.p5959b407 .ja650dbb8.je5180083 .sa50cc013{-webkit-transform:scale(.6) !important;transform:scale(.6) !important}.p5959b407 .ja650dbb8.sa889a93b{width:16px !important;height:16px !important}.p5959b407 .ja650dbb8.sa889a93b:before{width:32px !important;height:32px !important}.p5959b407 .ja650dbb8.sa889a93b .sa50cc013{-webkit-transform:scale(.8) !important;transform:scale(.8) !important}.p5959b407 .ja650dbb8.ye9da95e5{width:24px !important;height:24px !important}.p5959b407 .ja650dbb8.ye9da95e5:before{width:42px !important;height:42px !important}.p5959b407 .ja650dbb8.w8ba37f44{width:28px !important;height:28px !important}.p5959b407 .ja650dbb8.w8ba37f44:before{width:42px !important;height:42px !important}.p5959b407 .g5ff320dd{height:100% !important;width:100% !important;position:absolute !important;top:0 !important;left:0 !important;z-index:-1 !important;border-radius:inherit !important;-webkit-transition:opacity .15s !important;-o-transition:opacity .15s !important;transition:opacity .15s !important;-webkit-transition:background-color .5s ease-in-out !important;-o-transition:background-color .5s ease-in-out !important;transition:background-color .5s ease-in-out !important}.p5959b407 .g5ff320dd.l3f836312{background:rgba(26,43,77,.4) !important;color:#fff !important}.p5959b407 .g5ff320dd.l3f836312:hover{opacity:.5 !important}.p5959b407 .g5ff320dd.w4eda1370{background:hsla(0,0%,100%,.8) !important;color:#3a3c40 !important}.p5959b407 .g5ff320dd.w4eda1370:hover{opacity:.9 !important}.p5959b407 .g5ff320dd.ya577217{background:none !important}.p5959b407 .ja650dbb8 .sa50cc013{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;pointer-events:none !important}.p5959b407 .ja650dbb8 .sa50cc013.l3f836312 svg{fill:#fff !important}.p5959b407 .ja650dbb8 .sa50cc013.l3f836312 svg,.p5959b407 .ja650dbb8 .sa50cc013.w4eda1370 svg{-webkit-transition:fill .5s ease-in-out !important;-o-transition:fill .5s ease-in-out !important;transition:fill .5s ease-in-out !important}.p5959b407 .ja650dbb8 .sa50cc013.w4eda1370 svg{fill:#242526 !important}.p5959b407 .acca5812f{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;pointer-events:none !important}.p5959b407 .acca5812f.l3f836312{color:#fff !important}.p5959b407 .acca5812f.w4eda1370{color:#242526 !important}@-webkit-keyframes o90d3e7fd{0%,to{opacity:0 !important;visibility:hidden !important}4%,96%{visibility:visible !important;opacity:1 !important}}@keyframes o90d3e7fd{0%,to{opacity:0 !important;visibility:hidden !important}4%,96%{visibility:visible !important;opacity:1 !important}}@media (hover:hover) and (pointer:fine){.p5959b407 .p1ef071c:hover .kbf51a9c7{opacity:0 !important;visibility:hidden !important}.p5959b407 .p1ef071c:hover .w6d3cd172{visibility:visible !important;opacity:1 !important}.p5959b407 .p1ef071c[data-active]:hover .w6d3cd172{opacity:0 !important;visibility:hidden !important}.p5959b407 .p1ef071c[data-active]:hover .kbf51a9c7{visibility:visible !important;opacity:1 !important}}.p5959b407 .p1ef071c.habf56dac{right:45px !important}.p5959b407 .p1ef071c.habf56dac .f32273d87.kbf51a9c7{-webkit-transform:translateX(41px) !important;transform:translateX(41px) !important}.p5959b407 .p1ef071c.habf56dac .f32273d87.kbf51a9c7 .s3e1104be{-webkit-transform:translateX(-43px) !important;transform:translateX(-43px) !important}.p5959b407 .p1ef071c{right:36px !important;width:32px !important}.p5959b407 .p1ef071c[data-active] svg{color:#ee4f4f !important;fill:#ee4f4f !important}.p5959b407 .p1ef071c[data-active] .kbf51a9c7{-webkit-animation:o90d3e7fd 8s linear !important;animation:o90d3e7fd 8s linear !important}.p5959b407 .p1ef071c .f32273d87{position:absolute !important;color:#fff !important;opacity:0 !important;visibility:hidden !important;white-space:nowrap !important;top:29px !important;right:50% !important;-webkit-transform:translateX(50%) !important;transform:translateX(50%) !important;background:#343334 !important;border-radius:6px !important;padding:0 8px !important;height:24px !important;line-height:24px !important;font-size:11px !important;-webkit-transition:all .2s !important;-o-transition:all .2s !important;transition:all .2s !important}.p5959b407 .p1ef071c .f32273d87.kbf51a9c7{-webkit-transform:translateX(32px) !important;transform:translateX(32px) !important;right:0 !important}.p5959b407 .p1ef071c .f32273d87.kbf51a9c7 .s3e1104be{right:0 !important;-webkit-transform:translateX(-34px) !important;transform:translateX(-34px) !important}.p5959b407 .p1ef071c .f32273d87 .wa7db37ba{font-size:11px !important}.p5959b407 .p1ef071c .f32273d87 .s3e1104be{width:28px !important;height:8px !important;position:absolute !important;top:-6px !important;right:50% !important;-webkit-transform:translateX(50%) !important;transform:translateX(50%) !important;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.p5959b407 .p1ef071c .f32273d87 .vf7d08427{color:#ffd400 !important;text-decoration:none !important;text-transform:lowercase !important}.p5959b407 .bf493a654{height:100% !important;width:100% !important;position:absolute !important;top:0 !important;left:0 !important;z-index:-1 !important;border-radius:inherit !important;-webkit-transition:background-color .5s ease-in-out !important;-o-transition:background-color .5s ease-in-out !important;transition:background-color .5s ease-in-out !important}.p5959b407 .i146fb231{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;cursor:pointer !important;position:absolute !important;left:4px !important;top:4px !important;z-index:10 !important;font-family:Helvetica,Arial,sans-serif !important;white-space:nowrap !important;height:12px !important;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;line-height:9px !important;padding:2px 4px !important;color:hsla(0,0%,100%,.8) !important;border-radius:16px !important;font-size:8px !important;text-transform:uppercase !important;letter-spacing:.125em !important;pointer-events:none !important;-webkit-transition:color .5s ease-in-out !important;-o-transition:color .5s ease-in-out !important;transition:color .5s ease-in-out !important}.p5959b407 .i146fb231,.p5959b407 .i146fb231>a{text-decoration:none !important}.p5959b407 .i146fb231>a{color:inherit !important}.p5959b407 .i146fb231.q600d8c16{color:#575c66 !important}.p5959b407 .i146fb231.q600d8c16 .bf493a654{background-color:#fff !important;opacity:.8 !important}.p5959b407 .i146fb231.ma065e58e,.p5959b407 .i146fb231.w4eda1370{color:#3a3c40 !important}.p5959b407 .i146fb231.w4eda1370{background:hsla(0,0%,100%,.8) !important}.p5959b407 .i146fb231.l3f836312,.p5959b407 .i146fb231.uc0ab276c{color:#fff !important}.p5959b407 .i146fb231.l3f836312{background:rgba(26,43,77,.4) !important}.p5959b407 .i146fb231.ucf224bd1,.p5959b407 .i146fb231.jdf9654ed{top:auto !important;left:auto !important;right:0 !important;bottom:0 !important;background:none !important;text-shadow:none !important;font-size:7px !important;padding:0 !important;line-height:normal !important;height:auto !important;opacity:.8 !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}.p5959b407 .i146fb231.ya577217{background:none !important}.p5959b407 .i146fb231.uc0e858c1{max-width:calc(100% - 42px) !important}.p5959b407 .j2093835e{margin:0 2px !important}.p5959b407 .m4e076f92{text-decoration:none !important;pointer-events:auto !important;color:inherit !important}@-moz-document url-prefix(){.p5959b407 .i146fb231{padding-top:1px!important}}.p5959b407 .ye020a8e6{position:absolute !important;right:-2px !important;top:0 !important;z-index:9 !important;pointer-events:auto !important}.p5959b407 .y9504870b{background:red !important}</style><yatag class="w8fe20e8b"></yatag><yatag class="i65c8e7b s332f7b93 x25f7810f"><yatag class="a725b477c" style="width: 336px !important; height: 280px !important;"><yatag id="ya_partner_R-A-1583743-6" class="ta6c2be8b" style="width: 336px !important; height: 280px !important;"><div></div></yatag><yatag class="i146fb231 q600d8c16 ya577217" data-label="true"><yatag data-test="AdKebabAndLabel--adLabelBg" class="bf493a654"></yatag>Реклама</yatag><yatag class="w1c592594 u94c28992 pc9273692"><yatag data-close="true" data-new-adtune="true" class="ja650dbb8 gb16835ed q600d8c16 ye9da95e5"><yatag class="g5ff320dd ya577217"></yatag><yatag class="sa50cc013"><svg width="8" height="20" fill="#fff" xmlns="http://www.w3.org/2000/svg"><circle cx="4" cy="4" r="1.5"></circle><circle cx="4" cy="10" r="1.5"></circle><circle cx="4" cy="16" r="1.5"></circle></svg></yatag></yatag></yatag></yatag></yatag></yatag></div><script>window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo: 'yandex_rtb_R-A-1583743-6', blockId: 'R-A-1583743-6'})})</script></div>
<div id="inet_aton" class="anchor"></div>
<h2 class="h2mTop">
    inet_aton
</h2>
<p class="p1">
    Функция 
    <strong>
        inet_aton
    </strong>
    конвертирует строку в сетевой адрес. Возвращает int. 1 если конвертация прошла успешно. 0 если
    конвертация не получилась.
    <br><br>
    В качестве параметров использует указатель const char
    и структуру in_addr *addr
    <br><br>
    Эта функция считается устаревшей, на смену ей пришли inet_pton() и inet_ntop()
</p>
<p class="somecode w100 mt2">
<code>int inet_aton(const char *cp, struct in_addr *addr);</code>    
</p>
<p class="somecode w100 mt2">
<code>inet_aton(address, &amp;remote_address.sin_addr.s_addr);</code>    
</p>
<p class="cmdout with100 white-space-pre mt5">
inet_aton()
convert Internet dot address to network address 

Function

SYNOPSIS
#include &lt;arpa/inet.h&gt;

int inet_aton(const char *cp, struct in_addr *addr);

DESCRIPTION
The inet_aton() function converts the specified string,
in the Internet standard dot notation, to a network address,
and stores the address in the structure provided.

The converted address is in network byte order (bytes ordered from left to right).

Values specified using dot notation take one of the following forms:

a.b.c.d 
When four parts are specified, each is interpreted as a byte of data and assigned,
from left to right, to the four bytes of an internet address.

a.b.c 
When a three-part address is specified, the last part is interpreted as a 16-bit quantity
and placed in the rightmost two bytes of the network address. This makes the three-part
address format convenient for specifying Class B network addresses as 128.net.host.

a.b 
When a two-part address is supplied, the last part is interpreted as a 24-bit quantity 
and placed in the rightmost three bytes of the network address.

This makes the two-part address format convenient for specifying Class A network addresses as net.host.

a 
When only one part is given, the value is stored directly in the network address without
any byte rearrangement.

All numbers supplied as parts in dot notation may be decimal, octal, or hexadecimal,
as specified in the ISO C standard (that is, a leading 0x or 0X implies hexadecimal; 
otherwise a leading 0 implies octal; otherwise, the number is interpreted as decimal).

PARAMETERS
cp 
Points to a string in Internet standard dot notation.

addr 
Buffer where the converted address is to be stored.

RETURN VALUES
The inet_aton() function returns 1 if the address is successfully 
converted, or 0 if the conversion failed.

CONFORMANCE
4.4BSD

MULTITHREAD SAFETY LEVEL
MT-Safe.

PORTING ISSUES
None.

AVAILABILITY
PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition
</p>
<div id="sockaddr_in" class="anchor"></div>
<h2 class="h2mTop">
    sockaddr_in
</h2>
<p class="p1">
</p>
<p class="cout1 wspw">
struct sockaddr_in {
    sa_family_t    sin_family; /* address family: AF_INET */
    in_port_t      sin_port;   /* port in network byte order */
    struct in_addr sin_addr;   /* internet address */
};

/* Internet address. */
struct in_addr {
    uint32_t       s_addr;     /* address in network byte order */
};
</p>
<div class="p8 align-center"><!-- Yandex.RTB R-A-1583743-7 --><div id="yandex_rtb_R-A-1583743-7"><yatag class="y6a79a5b6 jfe84d9a6"><style type="text/css">.jfe84d9a6{opacity: !important;white-space:normal !important;visibility:visible !important}.jfe84d9a6,.jfe84d9a6 yatag{display:block !important;font-family:inherit !important}.jfe84d9a6,.jfe84d9a6,.jfe84d9a6 a,.jfe84d9a6 b,.jfe84d9a6 em,.jfe84d9a6 iframe,.jfe84d9a6 img,.jfe84d9a6 table,.jfe84d9a6 tbody,.jfe84d9a6 td,.jfe84d9a6 tr,.jfe84d9a6 yatag{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;color:inherit !important;font-size:inherit !important;font-weight:inherit !important;-webkit-hyphens:manual !important;-ms-hyphens:manual !important;hyphens:manual !important;-webkit-transition:none !important;-o-transition:none !important;transition:none !important}.jfe84d9a6,.jfe84d9a6 a,.jfe84d9a6 b,.jfe84d9a6 em,.jfe84d9a6 iframe,.jfe84d9a6 img,.jfe84d9a6 table,.jfe84d9a6 tbody,.jfe84d9a6 td,.jfe84d9a6 tr{background:none !important;border:none !important;border-radius:0 !important;border-spacing:0 !important;border-collapse:collapse !important;clear:none !important;float:none !important;font-variant:normal !important;letter-spacing:normal !important;line-height:normal !important;margin:0 !important;max-height:none !important;max-width:none !important;min-height:0 !important;min-width:0 !important;outline:none !important;padding:0 !important;position:static !important;text-align:left !important;text-decoration:none !important;text-indent:0 !important;text-transform:none !important;vertical-align:baseline !important;visibility:inherit !important;word-spacing:normal !important}.jfe84d9a6,.jfe84d9a6 a,.jfe84d9a6 b,.jfe84d9a6 em,.jfe84d9a6 img,.jfe84d9a6 table,.jfe84d9a6 tbody,.jfe84d9a6 td,.jfe84d9a6 tr{height:auto !important}.jfe84d9a6 table{display:table !important;empty-cells:hide !important;table-layout:fixed !important}.jfe84d9a6 table,.jfe84d9a6 td{font-size:100% !important}.jfe84d9a6 td{display:table-cell !important;vertical-align:middle !important}.jfe84d9a6{width:auto !important;height:auto !important;overflow:visible !important}.jfe84d9a6 .i65c8e7b{position:relative !important;margin:auto !important;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;overflow:hidden !important}.jfe84d9a6 .fe227699b{padding:10px 16px 86px !important}.jfe84d9a6 .d9c70654,.jfe84d9a6 .oba38beb6{position:absolute !important;z-index:1 !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;width:100% !important;height:100% !important;display:none !important}.jfe84d9a6 .a725b477c{position:relative !important;z-index:2 !important}.jfe84d9a6 .ta6c2be8b{position:relative !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;-webkit-transform-origin:0 0 !important;transform-origin:0 0 !important}.jfe84d9a6 .ta6c2be8b iframe{position:absolute !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important}.jfe84d9a6 .w1c592594{position:absolute !important;width:100% !important;right:0 !important;top:0 !important;z-index:20 !important}.jfe84d9a6 .qc922b58c{position:absolute !important;z-index:21 !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important}.jfe84d9a6 .de870253e{position:absolute !important;top:0 !important;left:0 !important;z-index:10 !important;height:16px !important;padding:0 4px !important;font-size:11px !important;line-height:16px !important;color:#000 !important;text-decoration:none !important;background:#fff !important;border:1px solid #e5e5e5 !important;border-bottom-right-radius:3px !important;cursor:pointer !important}.jfe84d9a6 .k6265ef7a{border:1px solid #303050 !important}.jfe84d9a6 .a8f343de{max-width:100% !important;max-height:100% !important}.jfe84d9a6 .a8f343de .d9c70654,.jfe84d9a6 .a8f343de .oba38beb6{display:block !important}.jfe84d9a6 .a8f343de .oba38beb6{-webkit-filter:blur(10px) saturate(0) contrast(400%) !important;filter:blur(10px) saturate(0) contrast(400%) !important}.jfe84d9a6 .a8f343de .d9c70654{background-color:rgba(38,38,38,.9) !important}.jfe84d9a6 .s146b38{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.jfe84d9a6 .cfbaf04c,.jfe84d9a6 .v3fd0c864{visibility:hidden !important;opacity:0 !important}.jfe84d9a6 .v3fd0c864{max-width:1px !important;max-height:1px !important}.jfe84d9a6 .kbaf8313e{position:absolute !important;bottom:20px !important;left:16px !important;right:16px !important;z-index:3 !important;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (orientation:landscape){.jfe84d9a6 .kbaf8313e{margin:0 auto !important;width:260px !important}}.jfe84d9a6 .ddf9b296d{height:48px !important;line-height:48px !important;font-size:16px !important;border-radius:8px !important;text-align:center !important;font-weight:700 !important;-ms-flex-item-align:stretch !important;align-self:stretch !important;padding:0 20px !important;white-space:nowrap !important;min-width:0 !important}.jfe84d9a6 .u6811cdd6{background:-webkit-gradient(linear,left top,left bottom,from(#efefef),to(#e5e5e5)) !important;background:-o-linear-gradient(top,#efefef 0,#e5e5e5 100%) !important;background:linear-gradient(180deg,#efefef,#e5e5e5) !important;margin-right:8px !important;-webkit-box-flex:2 !important;-ms-flex:2 1 !important;flex:2 1 !important}.jfe84d9a6 .gad203288{background:-webkit-gradient(linear,left top,right top,color-stop(-40%,#f60),color-stop(20%,rgba(255,102,0,0))),-webkit-gradient(linear,right top,left top,color-stop(-40%,#f60),color-stop(20%,rgba(255,102,0,0))),-webkit-gradient(linear,left bottom,left top,color-stop(-80%,#f60),color-stop(80%,#fd0)) !important;background:-o-linear-gradient(left,#f60 -40%,rgba(255,102,0,0) 20%),-o-linear-gradient(right,#f60 -40%,rgba(255,102,0,0) 20%),-o-linear-gradient(bottom,#f60 -80%,#fd0 80%) !important;background:linear-gradient(90deg,#f60 -40%,rgba(255,102,0,0) 20%),linear-gradient(270deg,#f60 -40%,rgba(255,102,0,0) 20%),linear-gradient(0deg,#f60 -80%,#fd0 80%) !important;-webkit-box-flex:3 !important;-ms-flex:3 1 !important;flex:3 1 !important}.jfe84d9a6 .q3fac1622{display:inline-block !important;margin-left:8px !important}.jfe84d9a6 .w8fe20e8b{position:absolute !important;left:-1000px !important;top:-1000px !important;width:1px !important;height:1px !important;display:block !important}.jfe84d9a6 .gb16835ed{cursor:pointer !important;position:absolute !important;right:4px !important;top:4px !important;z-index:10 !important}.jfe84d9a6 .ja650dbb8.gb16835ed{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;pointer-events:auto !important;border-radius:50% !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important;-webkit-tap-highlight-color:transparent !important}.jfe84d9a6 .ja650dbb8.gb16835ed:before{content:"" !important;position:absolute !important;top:-4px !important;left:50% !important;-webkit-transform:translateX(-50%) !important;transform:translateX(-50%) !important}.jfe84d9a6 .ja650dbb8.gb16835ed:hover .g5ff320dd{opacity:.8 !important}.jfe84d9a6 .ja650dbb8.gb16835ed.q600d8c16 .g5ff320dd{background-color:#fff !important;opacity:.8 !important}.jfe84d9a6 .ja650dbb8.gb16835ed.q600d8c16 .sa50cc013 svg{fill:#575c66 !important}.jfe84d9a6 .ja650dbb8.gb16835ed.ma065e58e .g5ff320dd,.jfe84d9a6 .ja650dbb8.gb16835ed.uc0ab276c .g5ff320dd{background:none !important}.jfe84d9a6 .ja650dbb8.gb16835ed.ma065e58e:hover{background-color:#e9e9e9 !important}.jfe84d9a6 .ja650dbb8.gb16835ed.ma065e58e .sa50cc013 svg{fill:#242526 !important}.jfe84d9a6 .ja650dbb8.gb16835ed.ma065e58e .acca5812f{color:#242526 !important}.jfe84d9a6 .ja650dbb8.gb16835ed.uc0ab276c:hover{background-color:rgba(248,250,255,.2) !important}.jfe84d9a6 .ja650dbb8.gb16835ed.uc0ab276c .sa50cc013 svg{fill:#fff !important}.jfe84d9a6 .ja650dbb8.gb16835ed.uc0ab276c .acca5812f{color:#fff !important}.jfe84d9a6 .ja650dbb8.je5180083{width:12px !important;height:12px !important}.jfe84d9a6 .ja650dbb8.je5180083:before{width:28px !important;height:28px !important}.jfe84d9a6 .ja650dbb8.je5180083 .sa50cc013{-webkit-transform:scale(.6) !important;transform:scale(.6) !important}.jfe84d9a6 .ja650dbb8.sa889a93b{width:16px !important;height:16px !important}.jfe84d9a6 .ja650dbb8.sa889a93b:before{width:32px !important;height:32px !important}.jfe84d9a6 .ja650dbb8.sa889a93b .sa50cc013{-webkit-transform:scale(.8) !important;transform:scale(.8) !important}.jfe84d9a6 .ja650dbb8.ye9da95e5{width:24px !important;height:24px !important}.jfe84d9a6 .ja650dbb8.ye9da95e5:before{width:42px !important;height:42px !important}.jfe84d9a6 .ja650dbb8.w8ba37f44{width:28px !important;height:28px !important}.jfe84d9a6 .ja650dbb8.w8ba37f44:before{width:42px !important;height:42px !important}.jfe84d9a6 .g5ff320dd{height:100% !important;width:100% !important;position:absolute !important;top:0 !important;left:0 !important;z-index:-1 !important;border-radius:inherit !important;-webkit-transition:opacity .15s !important;-o-transition:opacity .15s !important;transition:opacity .15s !important;-webkit-transition:background-color .5s ease-in-out !important;-o-transition:background-color .5s ease-in-out !important;transition:background-color .5s ease-in-out !important}.jfe84d9a6 .g5ff320dd.l3f836312{background:rgba(26,43,77,.4) !important;color:#fff !important}.jfe84d9a6 .g5ff320dd.l3f836312:hover{opacity:.5 !important}.jfe84d9a6 .g5ff320dd.w4eda1370{background:hsla(0,0%,100%,.8) !important;color:#3a3c40 !important}.jfe84d9a6 .g5ff320dd.w4eda1370:hover{opacity:.9 !important}.jfe84d9a6 .g5ff320dd.ya577217{background:none !important}.jfe84d9a6 .ja650dbb8 .sa50cc013{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;pointer-events:none !important}.jfe84d9a6 .ja650dbb8 .sa50cc013.l3f836312 svg{fill:#fff !important}.jfe84d9a6 .ja650dbb8 .sa50cc013.l3f836312 svg,.jfe84d9a6 .ja650dbb8 .sa50cc013.w4eda1370 svg{-webkit-transition:fill .5s ease-in-out !important;-o-transition:fill .5s ease-in-out !important;transition:fill .5s ease-in-out !important}.jfe84d9a6 .ja650dbb8 .sa50cc013.w4eda1370 svg{fill:#242526 !important}.jfe84d9a6 .acca5812f{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;pointer-events:none !important}.jfe84d9a6 .acca5812f.l3f836312{color:#fff !important}.jfe84d9a6 .acca5812f.w4eda1370{color:#242526 !important}@-webkit-keyframes o90d3e7fd{0%,to{opacity:0 !important;visibility:hidden !important}4%,96%{visibility:visible !important;opacity:1 !important}}@keyframes o90d3e7fd{0%,to{opacity:0 !important;visibility:hidden !important}4%,96%{visibility:visible !important;opacity:1 !important}}@media (hover:hover) and (pointer:fine){.jfe84d9a6 .p1ef071c:hover .kbf51a9c7{opacity:0 !important;visibility:hidden !important}.jfe84d9a6 .p1ef071c:hover .w6d3cd172{visibility:visible !important;opacity:1 !important}.jfe84d9a6 .p1ef071c[data-active]:hover .w6d3cd172{opacity:0 !important;visibility:hidden !important}.jfe84d9a6 .p1ef071c[data-active]:hover .kbf51a9c7{visibility:visible !important;opacity:1 !important}}.jfe84d9a6 .p1ef071c.habf56dac{right:45px !important}.jfe84d9a6 .p1ef071c.habf56dac .f32273d87.kbf51a9c7{-webkit-transform:translateX(41px) !important;transform:translateX(41px) !important}.jfe84d9a6 .p1ef071c.habf56dac .f32273d87.kbf51a9c7 .s3e1104be{-webkit-transform:translateX(-43px) !important;transform:translateX(-43px) !important}.jfe84d9a6 .p1ef071c{right:36px !important;width:32px !important}.jfe84d9a6 .p1ef071c[data-active] svg{color:#ee4f4f !important;fill:#ee4f4f !important}.jfe84d9a6 .p1ef071c[data-active] .kbf51a9c7{-webkit-animation:o90d3e7fd 8s linear !important;animation:o90d3e7fd 8s linear !important}.jfe84d9a6 .p1ef071c .f32273d87{position:absolute !important;color:#fff !important;opacity:0 !important;visibility:hidden !important;white-space:nowrap !important;top:29px !important;right:50% !important;-webkit-transform:translateX(50%) !important;transform:translateX(50%) !important;background:#343334 !important;border-radius:6px !important;padding:0 8px !important;height:24px !important;line-height:24px !important;font-size:11px !important;-webkit-transition:all .2s !important;-o-transition:all .2s !important;transition:all .2s !important}.jfe84d9a6 .p1ef071c .f32273d87.kbf51a9c7{-webkit-transform:translateX(32px) !important;transform:translateX(32px) !important;right:0 !important}.jfe84d9a6 .p1ef071c .f32273d87.kbf51a9c7 .s3e1104be{right:0 !important;-webkit-transform:translateX(-34px) !important;transform:translateX(-34px) !important}.jfe84d9a6 .p1ef071c .f32273d87 .wa7db37ba{font-size:11px !important}.jfe84d9a6 .p1ef071c .f32273d87 .s3e1104be{width:28px !important;height:8px !important;position:absolute !important;top:-6px !important;right:50% !important;-webkit-transform:translateX(50%) !important;transform:translateX(50%) !important;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.jfe84d9a6 .p1ef071c .f32273d87 .vf7d08427{color:#ffd400 !important;text-decoration:none !important;text-transform:lowercase !important}.jfe84d9a6 .bf493a654{height:100% !important;width:100% !important;position:absolute !important;top:0 !important;left:0 !important;z-index:-1 !important;border-radius:inherit !important;-webkit-transition:background-color .5s ease-in-out !important;-o-transition:background-color .5s ease-in-out !important;transition:background-color .5s ease-in-out !important}.jfe84d9a6 .i146fb231{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;cursor:pointer !important;position:absolute !important;left:4px !important;top:4px !important;z-index:10 !important;font-family:Helvetica,Arial,sans-serif !important;white-space:nowrap !important;height:12px !important;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;line-height:9px !important;padding:2px 4px !important;color:hsla(0,0%,100%,.8) !important;border-radius:16px !important;font-size:8px !important;text-transform:uppercase !important;letter-spacing:.125em !important;pointer-events:none !important;-webkit-transition:color .5s ease-in-out !important;-o-transition:color .5s ease-in-out !important;transition:color .5s ease-in-out !important}.jfe84d9a6 .i146fb231,.jfe84d9a6 .i146fb231>a{text-decoration:none !important}.jfe84d9a6 .i146fb231>a{color:inherit !important}.jfe84d9a6 .i146fb231.q600d8c16{color:#575c66 !important}.jfe84d9a6 .i146fb231.q600d8c16 .bf493a654{background-color:#fff !important;opacity:.8 !important}.jfe84d9a6 .i146fb231.ma065e58e,.jfe84d9a6 .i146fb231.w4eda1370{color:#3a3c40 !important}.jfe84d9a6 .i146fb231.w4eda1370{background:hsla(0,0%,100%,.8) !important}.jfe84d9a6 .i146fb231.l3f836312,.jfe84d9a6 .i146fb231.uc0ab276c{color:#fff !important}.jfe84d9a6 .i146fb231.l3f836312{background:rgba(26,43,77,.4) !important}.jfe84d9a6 .i146fb231.ucf224bd1,.jfe84d9a6 .i146fb231.jdf9654ed{top:auto !important;left:auto !important;right:0 !important;bottom:0 !important;background:none !important;text-shadow:none !important;font-size:7px !important;padding:0 !important;line-height:normal !important;height:auto !important;opacity:.8 !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}.jfe84d9a6 .i146fb231.ya577217{background:none !important}.jfe84d9a6 .i146fb231.uc0e858c1{max-width:calc(100% - 42px) !important}.jfe84d9a6 .j2093835e{margin:0 2px !important}.jfe84d9a6 .m4e076f92{text-decoration:none !important;pointer-events:auto !important;color:inherit !important}@-moz-document url-prefix(){.jfe84d9a6 .i146fb231{padding-top:1px!important}}.jfe84d9a6 .ye020a8e6{position:absolute !important;right:-2px !important;top:0 !important;z-index:9 !important;pointer-events:auto !important}.jfe84d9a6 .y9504870b{background:red !important}</style><yatag class="w8fe20e8b"></yatag><yatag class="i65c8e7b s332f7b93 x25f7810f"><yatag class="a725b477c" style="width: 320px !important; height: 50px !important;"><yatag id="ya_partner_R-A-1583743-7" class="ta6c2be8b" style="width: 320px !important; height: 50px !important;"><div></div></yatag><yatag class="i146fb231 q600d8c16 ya577217" data-label="true"><yatag data-test="AdKebabAndLabel--adLabelBg" class="bf493a654"></yatag>Реклама</yatag><yatag class="w1c592594 v26646313 pc9273692"><yatag data-close="true" data-new-adtune="true" class="ja650dbb8 gb16835ed q600d8c16 ye9da95e5"><yatag class="g5ff320dd ya577217"></yatag><yatag class="sa50cc013"><svg width="8" height="20" fill="#fff" xmlns="http://www.w3.org/2000/svg"><circle cx="4" cy="4" r="1.5"></circle><circle cx="4" cy="10" r="1.5"></circle><circle cx="4" cy="16" r="1.5"></circle></svg></yatag></yatag></yatag></yatag></yatag></yatag></div><script>window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo: 'yandex_rtb_R-A-1583743-7', blockId: 'R-A-1583743-7'})})</script></div>
<div id="errors" class="anchor"></div>
<h2 class="h2mTop">
    Ошибки
</h2>
<h3 class="h3mTop">
    fatal error: sys/socket.h: No such file or directory
</h3>
<p class="p1">
    Эта ошибка возникает в случае когда Вы установили 
    MinGW gcc, например, по моей 
    <a href="https://www.andreyolegovich.ru/i/gcc/">
        инструкции
    </a>.
    а в коде используете sys/socket.h
    <br><br>
    Я бы предложил установить 
    <a href="https://www.andreyolegovich.ru/windows/bash_win10.php">
        подсистему Linux для Winodows
    </a>
    и установить 
    <a href="https://www.andreyolegovich.ru/i/gcc">
        gcc
    </a>
    там
    <br><br>
    Как вариант можно попробовать 
    <a href="https://cygwin.com/packages/summary/gcc-g++.html" rel="nofollow">
        cygwin
    </a>
    вместо MinGW. Этот вариант стоит выбрать, если программа, которую
    Вы пишите должна будет работать в UNIX-подобной ОС.
    <br><br>
    Либо использовать 
    winsock2.h вместо sys/socket.
</p>
<h3 class="h3mTop">
    pclose   
</h3>
<p class="p1">
     tcp_client.c: In function ‘main’:
tcp_client.c:34:2: warning: implicit declaration of function ‘close’; did you mean ‘pclose’? [-Wimplicit-function-declaration]
  close(network_socket);
</p>
<!-- Connected successfully --><div class="banner-couple"><!-- LOG --></div><!-- Connected successfully --><div class="banner-couple"><!-- LOG --></div><div id="related_articles_footer" class="anchor"></div><table class="tcont"><caption>Похожие статьи</caption><tbody><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/">Программирование на C</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/lessons.php">Учебник по Си</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/boolean.php">Boolean в Си</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/kernigan_ritchie.php">К и Р</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/argc_argv.php">Что такое <b>argc</b>, <b>char * argv[]</b></a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/scanf.php">Функция <b>scanf()</b></a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/pointers.php">Указатели</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/structures.php">Структуры в Си</a></td></tr><tr><td></td><td><a href="https://www.andreyolegovich.ru/code/c/member_selection_operator.php">Оператор «стрелка» указатель на член структуры</a></td></tr></tbody></table></main>
            <!-- footer _lessons_bottom_navigator_inc -->
            <nav class="wrapper font-size0 mt12">
                <div class="previous font1">
                    <a class="" href="https://www.andreyolegovich.ru/code/c/pointers.php">
                        Указатели
                    </a>
                </div>
                <div class="next font1">
                    <a class="" href="https://www.andreyolegovich.ru/code/c/structures.php">
                        Структуры
                    </a>
                </div>
            </nav>
            <!-- footer /_lessons_bottom_navigator end -->
        <div class="count">
        <!--Openstat-->
        <span id="openstat2374832"></span><script>var openstat = { counter: 2374832, next: openstat };(function(d, t, p) {var j = d.createElement(t); j.async = true; j.type = "text/javascript";j.src = ("https:" == p ? "https:" : "http:") + "//openstat.net/cnt.js";var s = d.getElementsByTagName(t)[0]; s.parentNode.insertBefore(j, s);})(document, "script", document.location.protocol);</script>
        <!--/Openstat-->
        <!-- Global site tag (gtag.js) - Google Analytics --><script async="" src="./Сокеты в C_files/js"></script><script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'UA-11806655-6');</script><!-- /Global site tag (gtag.js) - Google Analytics -->
        <!-- Yandex.Metrika counter -->
        <script>(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(20167945, "init", {clickmap:true,trackLinks:true,accurateTrackBounce:true,webvisor:true,trackHash:true });</script><noscript><div><img src="https://mc.yandex.ru/watch/20167945" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
        <!-- /Yandex.Metrika counter -->
        </div>
            <div class="wrapper align-center mt10">
            <p class="p1 font1">
                <a class="bbutton100" id="website_search2" href="https://www.andreyolegovich.ru/search.php">
                    Поиск по сайту
                </a>
            </p>
            <p class="p8 font1">
                Подпишитесь на <a href="https://t.me/aofeed">Telegram канал @aofeed</a> чтобы следить 
                за выходом новых статей и обновлением старых
                <br><br>
                <a class="bbutton100" href="https://t.me/aofeed">Перейти на канал</a>
                <br><br>
                <a href="https://t.me/aofeed">@aofeed</a>
            </p>
            <p class="p8 font1">
                <a class="bbutton100" href="https://t.me/aofeedchat">
                    Задать вопрос в Телеграм-группе
                </a>
                <br><br>
                <a href="https://t.me/aofeedchat">@aofeedchat</a>
            </p>
            </div>
        <div class="wrapper mt5"><h2 class="h2mTop">IT</h2><div class="banner-couple">
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/linux/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/linux_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/linux_card">
                            <img src="./Сокеты в C_files/linux_card" class="w100" alt="Linux Самоучитель Подробности www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/linux/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/linux/">
                            Linux
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/linux/">
                                    Подробности
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/testing/edu/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/testing_edu_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/testing_edu_card">
                            <img src="./Сокеты в C_files/testing_edu_card" class="w100" alt="Где учиться тестированию На моём опыте Бюджетно www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/testing/edu/">
                            На моём опыте
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/testing/edu/">
                            Где учиться тестированию
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/testing/edu/">
                                    Бюджетно
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/PC/web/post_put.php">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/post_put_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/post_put_card">
                            <img src="./Сокеты в C_files/post_put_card" class="w100" alt="Разница между POST и PUT Несколько версий HTTP/REST www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/PC/web/post_put.php">
                            Несколько версий
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/PC/web/post_put.php">
                            Разница между POST и PUT
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/PC/web/post_put.php">
                                    HTTP/REST
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/code/python/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/python_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/python_card">
                            <img src="./Сокеты в C_files/python_card" class="w100" alt="Python Самоучитель 0 → Hero www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/code/python/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/code/python/">
                            Python
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/code/python/">
                                    0 → Hero
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/testing/api_testing.php">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/license-concept-api-business-girl-looks-at-abstract-graphics-8244023_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/license-concept-api-business-girl-looks-at-abstract-graphics-8244023_card">
                            <img src="./Сокеты в C_files/license-concept-api-business-girl-looks-at-abstract-graphics-8244023_card" class="w100" alt="Тестирование API Самоучитель Подробности www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/testing/api_testing.php">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/testing/api_testing.php">
                            Тестирование API
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/testing/api_testing.php">
                                    Подробности
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/i/gulp/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/gulp_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/gulp_card">
                            <img src="./Сокеты в C_files/gulp_card" class="w100" alt="Gulp 4 Самоучитель Подробности www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/i/gulp/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/i/gulp/">
                            Gulp 4
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/i/gulp/">
                                    Подробности
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/PC/disk_b.php">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/disk_b_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/disk_b_card">
                            <img src="./Сокеты в C_files/disk_b_card" class="w100" alt="Что такое диск B И диск A Подробности www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/PC/disk_b.php">
                            И диск A
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/PC/disk_b.php">
                            Что такое диск B
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/PC/disk_b.php">
                                    Подробности
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/i/django/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/django_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/django_card">
                            <img src="./Сокеты в C_files/django_card" class="w100" alt="Django Самоучитель Подробности www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/i/django/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/i/django/">
                            Django
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/i/django/">
                                    Подробности
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/PC/web/hosting.php">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/hosting_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/hosting_card">
                            <img src="./Сокеты в C_files/hosting_card" class="w100" alt="Выбрать хостинг Сравнение Совет www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/PC/web/hosting.php">
                            Сравнение
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/PC/web/hosting.php">
                            Выбрать хостинг
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/PC/web/hosting.php">
                                    Совет
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/code/php/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/php_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/php_card">
                            <img src="./Сокеты в C_files/php_card" class="w100" alt="PHP Самоучитель 0 → Hero www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/code/php/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/code/php/">
                            PHP
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/code/php/">
                                    0 → Hero
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/i/postgres/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/postgresql_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/postgresql_card">
                            <img src="./Сокеты в C_files/postgresql_card" class="w100" alt="PostgreSQL Самоучитель Подробности www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/i/postgres/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/i/postgres/">
                            PostgreSQL
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/i/postgres/">
                                    Подробности
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/i/soap_ui/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/soapui_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/soapui_card">
                            <img src="./Сокеты в C_files/soapui_card" class="w100" alt="SOAP UI Самоучитель Подробности www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/i/soap_ui/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/i/soap_ui/">
                            SOAP UI
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/i/soap_ui/">
                                    Подробности
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/latex/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/latex_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/latex_card">
                            <img src="./Сокеты в C_files/latex_card" class="w100" alt="LaTeX Самоучитель Подробности www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/latex/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/latex/">
                            LaTeX
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/latex/">
                                    Подробности
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/PC/ms_office/ms_word/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/ms_word_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/ms_word_card">
                            <img src="./Сокеты в C_files/ms_word_card" class="w100" alt="MS Word Самоучитель Советы www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/PC/ms_office/ms_word/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/PC/ms_office/ms_word/">
                            MS Word
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/PC/ms_office/ms_word/">
                                    Советы
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/PC/ms_office/ms_excel/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/ms_excel_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/ms_excel_card">
                            <img src="./Сокеты в C_files/ms_excel_card" class="w100" alt="MS Excel Самоучитель Советы www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/PC/ms_office/ms_excel/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/PC/ms_office/ms_excel/">
                            MS Excel
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/PC/ms_office/ms_excel/">
                                    Советы
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/PC/ms_office/power_point/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/it/ms_powerpoint_card.webp">
                            <source type="image/jpg" srcset="/img/media/cards/it/ms_powerpoint_card">
                            <img src="./Сокеты в C_files/ms_powerpoint_card" class="w100" alt="Power Point Самоучитель Примеры www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/PC/ms_office/power_point/">
                            Самоучитель
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/PC/ms_office/power_point/">
                            Power Point
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/PC/ms_office/power_point/">
                                    Примеры
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div></div><div class="wrapper mt5"><h2 class="h2mTop">Образование</h2><div class="banner-couple">
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/edu/mathematics/convolution/">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/edu/convolution_card.webp">
                            <source type="image/png" srcset="/img/media/cards/edu/convolution_card">
                            <img src="./Сокеты в C_files/convolution_card" class="w100" alt="Свёртка функций Основы С примерами www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/edu/mathematics/convolution/">
                            Основы
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/edu/mathematics/convolution/">
                            Свёртка функций
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/edu/mathematics/convolution/">
                                    С примерами
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/edu/physics/right_hand_rule.php">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/edu/right_hand_rule_card.webp">
                            <source type="image/png" srcset="/img/media/cards/edu/right_hand_rule_card">
                            <img src="./Сокеты в C_files/right_hand_rule_card" class="w100" alt="Правило правой руки Магнитное поле Сила Лоренца www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/edu/physics/right_hand_rule.php">
                            Магнитное поле
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/edu/physics/right_hand_rule.php">
                            Правило правой руки
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/edu/physics/right_hand_rule.php">
                                    Сила Лоренца
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/edu/physfac/student_finance.php">
                        <picture>
                            <source type="image/webp" srcset="/img/media/cards/edu/students_finance_card.webp">
                            <source type="image/png" srcset="/img/media/cards/edu/students_finance_card">
                            <img src="./Сокеты в C_files/students_finance_card" class="w100" alt="Как живут студенты СПбГУ Время на дорогу Финансы www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/edu/physfac/student_finance.php">
                            Время на дорогу
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/edu/physfac/student_finance.php">
                            Как живут студенты СПбГУ
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/edu/physfac/student_finance.php">
                                    Финансы
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon.png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div></div><div class="wrapper mt5"><h2 class="h2mTop">Актуально сейчас</h2><div class="banner-couple">
            <div class="banner-container-box">
                <div class="banner-container">
                    <div class="banner-img">
                        <a href="https://www.heihei.ru/Finland/holidays/midsummer.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            <picture>
                                <source type="image/webp" srcset="/.php/_modules/_heihei/img/cards/Finland//holidays/midsummer_card.webp">
                                <source type="image/jpeg" srcset="/.php/_modules/_heihei/img/cards/Finland//holidays/midsummer_card.jpg">
                                <img src="./Сокеты в C_files/midsummer_card.jpg" class="w100" alt="Юханнус солнцестояние Иван Купала в Финляндии изображение с сайта www.heihei.ru">
                            </picture> 
                        </a>
                        <div class="banner-img-hover-text banner-img-hover-text--centered">
                            <a href="https://www.heihei.ru/Finland/holidays/midsummer.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Финский Иван Купала
                            </a>
                        </div>
                    </div>
                    <div class="banner-bottom">
                        <div class="banner-text">
                            <a href="https://www.heihei.ru/Finland/holidays/midsummer.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Юханнус
                            </a>
                        </div>
                        <div class="banner-additional-info">
                            <div class="banner-action-button">
                                <div class="banner-action-button-action">
                                    <a class="banner-action-button-action-class" href="https://www.heihei.ru/Finland/holidays/midsummer.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                        Традиции
                                    </a>
                                </div>
                                <div class="banner-action-button-action">
                                       
                                </div>
                            </div>
                            <div class="banner-icons-block">
                                <div class="banner-icons-block-icon">
                                </div>
                                <div class="banner-icons-block-icon">
                                    <a href="https://www.heihei.ru/Finland/">
                                        <img class="banner-icon-block-flag" src="./Сокеты в C_files/Flag_of_Finland.svg.png" alt="Флаг страны Finland">
                                    </a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div></div><div class="wrapper mt5"><h2 class="h2mTop">Разное</h2><div class="banner-couple">
            <div class="banner-container-box">
                <div class="banner-container">
                    <div class="banner-img">
                        <a href="https://www.heihei.ru/Finland/most_beautiful.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            <picture>
                                <source type="image/webp" srcset="/.php/_modules/_heihei/img/cards/Finland//most_card.webp">
                                <source type="image/jpeg" srcset="/.php/_modules/_heihei/img/cards/Finland//most_card.jpg">
                                <img src="./Сокеты в C_files/most_card.jpg" class="w100" alt="Самые красивые финки изображение с сайта www.heihei.ru">
                            </picture> 
                        </a>
                        <div class="banner-img-hover-text banner-img-hover-text--centered">
                            <a href="https://www.heihei.ru/Finland/most_beautiful.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Топ
                            </a>
                        </div>
                    </div>
                    <div class="banner-bottom">
                        <div class="banner-text">
                            <a href="https://www.heihei.ru/Finland/most_beautiful.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Самые красивые финки
                            </a>
                        </div>
                        <div class="banner-additional-info">
                            <div class="banner-action-button">
                                <div class="banner-action-button-action">
                                    <a class="banner-action-button-action-class" href="https://www.heihei.ru/Finland/most_beautiful.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                        Фото и биографии
                                    </a>
                                </div>
                                <div class="banner-action-button-action">
                                       
                                </div>
                            </div>
                            <div class="banner-icons-block">
                                <div class="banner-icons-block-icon">
                                </div>
                                <div class="banner-icons-block-icon">
                                    <a href="https://www.heihei.ru/Finland/">
                                        <img class="banner-icon-block-flag" src="./Сокеты в C_files/Flag_of_Finland.svg.png" alt="Флаг страны Finland">
                                    </a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        
            <div class="banner-container-box">
                <div class="banner-container">
                    <div class="banner-img">
                        <a href="https://www.heihei.ru/Finland/12_finnish_actress.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            <picture>
                                <source type="image/webp" srcset="/.php/_modules/_heihei/img/cards/Finland//actress_card.webp">
                                <source type="image/jpeg" srcset="/.php/_modules/_heihei/img/cards/Finland//actress_card.jpg">
                                <img src="./Сокеты в C_files/actress_card.jpg" class="w100" alt="Самые красивые финские актрисы изображение с сайта www.heihei.ru">
                            </picture> 
                        </a>
                        <div class="banner-img-hover-text banner-img-hover-text--centered">
                            <a href="https://www.heihei.ru/Finland/12_finnish_actress.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Подробости
                            </a>
                        </div>
                    </div>
                    <div class="banner-bottom">
                        <div class="banner-text">
                            <a href="https://www.heihei.ru/Finland/12_finnish_actress.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Финские актрисы
                            </a>
                        </div>
                        <div class="banner-additional-info">
                            <div class="banner-action-button">
                                <div class="banner-action-button-action">
                                    <a class="banner-action-button-action-class" href="https://www.heihei.ru/Finland/12_finnish_actress.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                        Фото и биографии
                                    </a>
                                </div>
                                <div class="banner-action-button-action">
                                       
                                </div>
                            </div>
                            <div class="banner-icons-block">
                                <div class="banner-icons-block-icon">
                                </div>
                                <div class="banner-icons-block-icon">
                                    <a href="https://www.heihei.ru/Finland/">
                                        <img class="banner-icon-block-flag" src="./Сокеты в C_files/Flag_of_Finland.svg.png" alt="Флаг страны Finland">
                                    </a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        
            <div class="banner-container-box">
                <div class="banner-container">
                    <div class="banner-img">
                        <a href="https://www.heihei.ru/Finland/life/permit.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            <picture>
                                <source type="image/webp" srcset="/.php/_modules/_heihei/img/cards/Finland//life/permit_card.webp">
                                <source type="image/jpeg" srcset="/.php/_modules/_heihei/img/cards/Finland//life/permit_card.jpg">
                                <img src="./Сокеты в C_files/permit_card.jpg" class="w100" alt="Получение вида на жительство в Финляндии по семейным связям замужеству изображение с сайта www.heihei.ru">
                            </picture> 
                        </a>
                        <div class="banner-img-hover-text banner-img-hover-text--centered">
                            <a href="https://www.heihei.ru/Finland/life/permit.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Реальная история
                            </a>
                        </div>
                    </div>
                    <div class="banner-bottom">
                        <div class="banner-text">
                            <a href="https://www.heihei.ru/Finland/life/permit.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Финский ВНЖ
                            </a>
                        </div>
                        <div class="banner-additional-info">
                            <div class="banner-action-button">
                                <div class="banner-action-button-action">
                                    <a class="banner-action-button-action-class" href="https://www.heihei.ru/Finland/life/permit.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                        Подробности
                                    </a>
                                </div>
                                <div class="banner-action-button-action">
                                       
                                </div>
                            </div>
                            <div class="banner-icons-block">
                                <div class="banner-icons-block-icon">
                                </div>
                                <div class="banner-icons-block-icon">
                                    <a href="https://www.heihei.ru/Finland/">
                                        <img class="banner-icon-block-flag" src="./Сокеты в C_files/Flag_of_Finland.svg.png" alt="Флаг страны Finland">
                                    </a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        
            <div class="banner-container-box">
                <div class="banner-container">
                    <div class="banner-img">
                        <a href="https://www.heihei.ru/Finland/life/salary.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            <picture>
                                <source type="image/webp" srcset="/.php/_modules/_heihei/img/cards/Finland//life/salary_card.webp">
                                <source type="image/jpeg" srcset="/.php/_modules/_heihei/img/cards/Finland//life/salary_card.jpg">
                                <img src="./Сокеты в C_files/salary_card.jpg" class="w100" alt="Сколько зарабатывают финны изображение с сайта www.heihei.ru">
                            </picture> 
                        </a>
                        <div class="banner-img-hover-text banner-img-hover-text--centered">
                            <a href="https://www.heihei.ru/Finland/life/salary.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                2017
                            </a>
                        </div>
                    </div>
                    <div class="banner-bottom">
                        <div class="banner-text">
                            <a href="https://www.heihei.ru/Finland/life/salary.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Сколько зарабатывают финны
                            </a>
                        </div>
                        <div class="banner-additional-info">
                            <div class="banner-action-button">
                                <div class="banner-action-button-action">
                                    <a class="banner-action-button-action-class" href="https://www.heihei.ru/Finland/life/salary.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                        Медиана
                                    </a>
                                </div>
                                <div class="banner-action-button-action">
                                       
                                </div>
                            </div>
                            <div class="banner-icons-block">
                                <div class="banner-icons-block-icon">
                                </div>
                                <div class="banner-icons-block-icon">
                                    <a href="https://www.heihei.ru/Finland/">
                                        <img class="banner-icon-block-flag" src="./Сокеты в C_files/Flag_of_Finland.svg.png" alt="Флаг страны Finland">
                                    </a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        
            <div class="banner-container-box">
                <div class="banner-container">
                    <div class="banner-img">
                        <a href="https://www.heihei.ru/Finland/life/medicine.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            <picture>
                                <source type="image/webp" srcset="/.php/_modules/_heihei/img/cards/Finland//life/medicine_card.webp">
                                <source type="image/jpeg" srcset="/.php/_modules/_heihei/img/cards/Finland//life/medicine_card.jpg">
                                <img src="./Сокеты в C_files/medicine_card.jpg" class="w100" alt="Финская медицина изображение с сайта www.heihei.ru">
                            </picture> 
                        </a>
                        <div class="banner-img-hover-text banner-img-hover-text--centered">
                            <a href="https://www.heihei.ru/Finland/life/medicine.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Личный опыт посещения больницы
                            </a>
                        </div>
                    </div>
                    <div class="banner-bottom">
                        <div class="banner-text">
                            <a href="https://www.heihei.ru/Finland/life/medicine.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                Медицина в Финляндии
                            </a>
                        </div>
                        <div class="banner-additional-info">
                            <div class="banner-action-button">
                                <div class="banner-action-button-action">
                                    <a class="banner-action-button-action-class" href="https://www.heihei.ru/Finland/life/medicine.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                        Подробности
                                    </a>
                                </div>
                                <div class="banner-action-button-action">
                                       
                                </div>
                            </div>
                            <div class="banner-icons-block">
                                <div class="banner-icons-block-icon">
                                </div>
                                <div class="banner-icons-block-icon">
                                    <a href="https://www.heihei.ru/Finland/">
                                        <img class="banner-icon-block-flag" src="./Сокеты в C_files/Flag_of_Finland.svg.png" alt="Флаг страны Finland">
                                    </a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/sport/exercises_for_back.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                        <picture>
                            <source type="image/webp" srcset="/img/cards//blog/olga_abramova_card.webp">
                            <source type="image/jpg" srcset="/img/cards//blog/olga_abramova_card.jpg">
                            <img src="./Сокеты в C_files/olga_abramova_card.jpg" class="w100" alt="Новая жена Шнура Ольга Абрамова изображение с сайта www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/sport/exercises_for_back.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                             Ольга Абрамова
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/sport/exercises_for_back.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            Новая жена Шнура
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/sport/exercises_for_back.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                    Подробности
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon(1).png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/sport/exercises_for_back.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                        <picture>
                            <source type="image/webp" srcset="/img/cards//sport/portnova_card.webp">
                            <source type="image/jpg" srcset="/img/cards//sport/portnova_card.jpg">
                            <img src="./Сокеты в C_files/portnova_card.jpg" class="w100" alt="Как избавиться от боли в спине  изображение с сайта www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/sport/exercises_for_back.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            Видео и фото
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/sport/exercises_for_back.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            Как избавиться от боли в спине
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/sport/exercises_for_back.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                    Упражнения
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon(1).png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/different/dudewife.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                        <picture>
                            <source type="image/webp" srcset="/img/cards//different/dudewife_card.webp">
                            <source type="image/jpg" srcset="/img/cards//different/dudewife_card.jpg">
                            <img src="./Сокеты в C_files/dudewife_card.jpg" class="w100" alt="Настоящая жена Юрия Дудя изображение с сайта www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/different/dudewife.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            Шоу Басты
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/different/dudewife.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            Жена Юрия Дудя
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/different/dudewife.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                    Или нет
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon(1).png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="banner-container-box">
            <div class="banner-container">
                <div class="banner-img">
                    <a href="https://www.andreyolegovich.ru/edu/literature/wiedzmin.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                        <picture>
                            <source type="image/webp" srcset="/img/cards//literature/witcher_card.webp">
                            <source type="image/png" srcset="/img/cards//literature/witcher_card.png">
                            <img src="./Сокеты в C_files/witcher_card.png" class="w100" alt="Ведьмак изображение с сайта www.andreyolegovich.ru">
                        </picture> 
                    </a>
                    <div class="banner-img-hover-text banner-img-hover-text--centered">
                        <a href="https://www.andreyolegovich.ru/edu/literature/wiedzmin.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            Фанарт
                        </a>
                    </div>
                </div>
                <div class="banner-bottom">
                    <div class="banner-text">
                        <a href="https://www.andreyolegovich.ru/edu/literature/wiedzmin.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                            Ведьмак
                        </a>
                    </div>
                    <div class="banner-additional-info">
                        <div class="banner-action-button">
                            <div class="banner-action-button-action">
                                <a class="banner-action-button-action-class" href="https://www.andreyolegovich.ru/edu/literature/wiedzmin.php?utm_source=andreyolegovich.ru&amp;utm_campaign=aofoot">
                                    Порядок книг. Персонажи.
                                </a>
                            </div>
                            <div class="banner-action-button-action">
                                   
                            </div>
                        </div>
                        <div class="banner-icons-block">
                            <div class="banner-icons-block-icon">
                            </div>
                            <div class="banner-icons-block-icon">
                                <a href="https://www.andreyolegovich.ru/">
                                    <img class="banner-icon-block-flag" src="./Сокеты в C_files/default_icon(1).png" alt="Иконка">
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div></div>
            <div class="wrapper align-center mt10">
            <p class="p1 font1">
                <a class="bbutton100" id="website_search3" href="https://www.andreyolegovich.ru/search.php">
                    Поиск по сайту
                </a>
            </p>
            <p class="p8 font1">
                Подпишитесь на <a href="https://t.me/aofeed">Telegram канал @aofeed</a> чтобы следить 
                за выходом новых статей и обновлением старых
                <br><br>
                <a class="bbutton100" href="https://t.me/aofeed">Перейти на канал</a>
                <br><br>
                <a href="https://t.me/aofeed">@aofeed</a>
            </p>
            <p class="p8 font1">
                <a class="bbutton100" href="https://t.me/aofeedchat">
                    Задать вопрос в Телеграм-группе
                </a>
                <br><br>
                <a href="https://t.me/aofeedchat">@aofeedchat</a>
            </p>
            </div>
        
            <div class="wrapper mt10">
                <table class="tab11">
                <caption>Контакты и сотрудничество:</caption>
                <tbody><tr><td>Рекомендую наш хостинг <a href="https://www.beget.com/p3421">beget.ru</a>
                </td></tr><tr><td>Пишите на
                        <span class="tt">info@urn.su</span> если Вы:
                </td></tr><tr><td>1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
                </td></tr><tr><td>2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
                </td></tr><tr><td>3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели
                        рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок
                        или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
                </td></tr><tr><td>4. Нашли на сайте ошибку, неточности, баг и т.д. 
                        <span class="width_a">.</span><span class="width_b">..</span>
                        <span class="width_c">...</span><span class="width_d">....</span>
                </td></tr><tr><td>5. Статьи можно расшарить в соцсетях, нажав на иконку сети:
                        <script src="./Сокеты в C_files/es5-shims.min.js"></script>
                        <script src="./Сокеты в C_files/share.js"></script>
                        <div class="ya-share2 ya-share2_inited" data-services="vkontakte,facebook,odnoklassniki,twitter,reddit,lj,viber,whatsapp,skype,telegram"><div class="ya-share2__container ya-share2__container_size_m ya-share2__container_color-scheme_normal ya-share2__container_shape_normal"><ul class="ya-share2__list ya-share2__list_direction_horizontal"><li class="ya-share2__item ya-share2__item_service_vkontakte"><a class="ya-share2__link" href="https://vk.com/share.php?url=https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B2%20C&amp;utm_source=share2" rel="nofollow noopener" target="_blank" title="ВКонтакте"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">ВКонтакте</span></a></li><li class="ya-share2__item ya-share2__item_service_facebook"><a class="ya-share2__link" href="https://www.facebook.com/sharer.php?src=sp&amp;u=https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B2%20C&amp;utm_source=share2" rel="nofollow noopener" target="_blank" title="Facebook"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">Facebook</span></a></li><li class="ya-share2__item ya-share2__item_service_odnoklassniki"><a class="ya-share2__link" href="https://connect.ok.ru/offer?url=https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B2%20C&amp;utm_source=share2" rel="nofollow noopener" target="_blank" title="Одноклассники"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">Одноклассники</span></a></li><li class="ya-share2__item ya-share2__item_service_twitter"><a class="ya-share2__link" href="https://twitter.com/intent/tweet?text=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B2%20C&amp;url=https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;utm_source=share2" rel="nofollow noopener" target="_blank" title="Twitter"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">Twitter</span></a></li><li class="ya-share2__item ya-share2__item_service_reddit"><a class="ya-share2__link" href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B2%20C&amp;utm_source=share2" rel="nofollow noopener" target="_blank" title="reddit"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">reddit</span></a></li><li class="ya-share2__item ya-share2__item_service_lj"><a class="ya-share2__link" href="https://www.livejournal.com/update.bml?subject=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B2%20C&amp;event=https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;utm_source=share2" rel="nofollow noopener" target="_blank" title="LiveJournal"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">LiveJournal</span></a></li><li class="ya-share2__item ya-share2__item_service_viber"><a class="ya-share2__link" href="viber://forward?text=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B2%20C%20https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;utm_source=share2" rel="nofollow" target="_blank" title="Viber"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">Viber</span></a></li><li class="ya-share2__item ya-share2__item_service_whatsapp"><a class="ya-share2__link" href="https://api.whatsapp.com/send?text=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B2%20C%20https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;utm_source=share2" rel="nofollow noopener" target="_blank" title="WhatsApp"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">WhatsApp</span></a></li><li class="ya-share2__item ya-share2__item_service_skype"><a class="ya-share2__link" href="https://web.skype.com/share?url=https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;utm_source=share2" rel="nofollow noopener" target="_blank" title="Skype"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">Skype</span></a></li><li class="ya-share2__item ya-share2__item_service_telegram"><a class="ya-share2__link" href="https://t.me/share/url?url=https%3A%2F%2Fwww.andreyolegovich.ru%2Fcode%2Fc%2Fsockets.php&amp;text=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B2%20C&amp;utm_source=share2" rel="nofollow noopener" target="_blank" title="Telegram"><span class="ya-share2__badge"><span class="ya-share2__icon"></span></span><span class="ya-share2__title">Telegram</span></a></li></ul></div></div>
                </td></tr></tbody></table> 
                 
        </div><div id="bottomid"></div><div style="position: fixed; left: -99px;"><div id="b53ee77d43"><iframe frameborder="no" scrolling="no" allowtransparency="true" hidefocus="true" tabindex="-1" marginwidth="0" marginheight="0" src="./Сокеты в C_files/render(1).html" id="id6999" style="opacity: 1;"></iframe></div></div></body><style id="stylus-1" type="text/css" class="stylus">body {
    font-family: 'pragmata pro mono regular';
}</style></html>